Jquery .hide () и .show () не работают с IE7 - PullRequest
1 голос
/ 21 октября 2011

Этот .show и .hide отлично работает в 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 Ответ

0 голосов
/ 21 октября 2011
Тег

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...