这个.show和.hide在火狐,Chrome,Safari中运行的很好,但在IE7中就不行了。在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>发布于 2011-10-21 14:59:02
span标记只能包含其他内联元素,但我怀疑您的选项卡中有块元素。
如果您深入研究IE7中发生的事情,我想您会发现span元素隐藏得很好,但是浏览器已经尝试更正无效的HTML代码,这样选项卡的内容就不再位于span标记中。
如果是这样的话,使用div标签而不是span标签就可以解决这个问题。
https://stackoverflow.com/questions/7845953
复制相似问题