在IE7:下一个()不拾取内UL与“无显示”(next() not picking up an in

2019-10-16 17:50发布

这与以下标记发生的事情:

<ul id="sideMenu" class="menuFontStyle">
<li class="category">Test</li>
<ul class="secondLevel" style="display: none;">
<li></li>
</ul>
...

在FF和Chrome在内UL正在上升,但IE7似乎跳到下一个礼。 什么可以作为一个解决方法吗? 这是一个自定义脚本手风琴。

Answer 1:

您的ul不是内li为你关闭了li开之前ul 。 我不认为这是你想要的。

然后,访问<ul>您更好的使用.find所以这将是$("li").find("ul")因为这将访问<ul>内部<li>只。

<ul id="sideMenu" class="menuFontStyle">
    <li class="category">Test
        <ul class="secondLevel" style="display: none;">
            <li></li>
        </ul>
    </li>
</ul>


Answer 2:

这是无效的HTML,所以你应该不奇怪的结果感到惊讶。 ul元素不能有其他ul元素作为直接子; 他们可能只包含li元素。 IE7想必包裹ul在另一个li或类似,使其有效的东西。

让你的HTML有效:这将有助于浏览器将其转换为你打算和你的JS代码会轻松很多的DOM结构。



文章来源: next() not picking up an inner UL with “display: none” in IE7