2012-03-19 60 views
0

這是我的問題,我有一塊jquery在現代瀏覽器中可以正常工作,但在IE7中無法正常工作。這個切換div的JQuery代碼在IE7中不起作用,但可以在其他瀏覽器中工作

這個想法是當你點擊< A>標籤之一時,名爲「innerdetails」的div將打開。

這裏是我的HTML:

<ul class="table"> 
<li><a href="#">CLICK HERE</a></li> 
<li><a href="#">Techniques</a> </li> 
<li >3</li> 
<div class="innerdetails"> 
    Technical services, including MARC. 
</div> 
</ul> 

這裏是有問題的jQuery代碼。

$(document).ready(function() { 
    $("ul.table li a").click(function() { 
    $(this).parent("li").parent("ul").children(".innerdetails").toggle(); 
    alert ($(this).parent("li").parent("ul").children(".innerdetails").length) 
    return false; 
    }); 
}); 

有趣的是,在警報,IE7返回 「0」 作爲長度爲。兒童( 「內當然-方式」)

鉻返回 「1」

回答

2

的問題很可能是由於這不是有效的HTML(一個ul標記不能包含div標記),所以IE7可能不會將其視爲DOM樹的一部分。

要解決,可以嘗試在一個li標籤的div內(或者只是使用li標籤代替),然後.toggle()荷蘭國際集團的li

1

我不知道爲什麼,但如果你改變了childrenfind它的工作原理

$("ul.table li a").click(function() { 
    $(this).parent("li").parent("ul").find(".innerdetails").toggle(); 
    alert ($(this).parent("li").parent("ul").find(".innerdetails").length) 
    return false; 
}); 

而且的jsfiddle http://jsfiddle.net/6heVt/2/

相關問題