Jquery .hide() и .show() не работают с IE7

#jquery #internet-explorer-7

#jquery #internet-explorer-7

Вопрос:

Это .показать и скрыть отлично работает в Firefox, Chrome, Safari, но не в IE 7. В IE диапазон не скрывается, он всегда показывает все (три) вкладки.

Я делаю что-то не так?

 <script>
var currentTab = 0; 

function openTab(clickedTab) {
    var thisTab = $(".tabbed-box .tabs a").index(clickedTab);
    $(".tabbed-box .tabs li a").removeClass("active");
    $(".tabbed-box .tabs li a:eq(" thisTab ")").addClass("active");
    $(".tabbed-box .tabbed-content").hide();
    $(".tabbed-box .tabbed-content:eq(" thisTab ")").show();
    currentTab = thisTab;
}

$(document).ready(function() {
    $(".tabs li:eq(0) a").css("border-left", "none");

    $(".tabbed-box .tabs li a").click(function() { 
        openTab($(this)); return false; 
    });

    $(".tabbed-box .tabs li a:eq(" currentTab ")").click();
});

</script>
  

Комментарии:

1. Можете ли вы показать запущенный код, например, в jsfiddle? Или, по крайней мере, опубликуйте HTML.

Ответ №1:

span Тег может содержать только другие встроенные элементы, но я подозреваю, что у вас есть блочные элементы внутри ваших вкладок.

Если вы углубитесь в то, что происходит в IE7, я думаю, вы обнаружите, что span элементы скрыты просто отлично, но браузер предпринял попытку исправить недопустимый HTML-код, чтобы содержимое вкладок больше не находилось внутри span тегов.

Если это так, простое использование div тегов вместо span тегов для вкладок решит проблему.