2011-10-21 73 views
1

這個.show和.hide在Firefox,Chrome,Safari中很好用,但在IE7中沒有。在IE中span不隱藏,它總是顯示所有(三)選項卡。Jquery .hide()和.show()不能在IE7中工作

我做錯了什麼?

<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> 
+0

你可以在jsfiddle上顯示運行代碼嗎?或者至少張貼HTML。 – RoToRa

回答

0

一個span標籤只能包含其他行內元素,但我懷疑,你有你的標籤內塊元素。

如果您想深入瞭解IE7中正在發生的事情,我認爲您會發現span元素隱藏得很好,但瀏覽器已嘗試更正無效的HTML代碼,以便標籤中的內容不再位於span標籤內。

如果是這樣的話,只需使用div標籤而不是span標籤來解決問題。

+0

我嘗試將跨度更改爲div,但仍然與以前一樣。 –