0

这是我的问题,我有一段 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”作为 .children(".inner-course-details") 的长度

铬返回“1”

4

2 回答 2

2

问题可能是由于这不是有效的 HTML(ul标签不能包含div标签),因此 IE7 可能不认为它是 DOM 树的一部分。

要解决此问题,请尝试将标签放在div内部li(或仅使用li标签),然后.toggle()li.

于 2012-03-20T00:00:53.260 回答
1

我不知道为什么,但如果你改变children它就find可以了

$("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/

于 2012-03-20T00:05:01.630 回答