1

这是通过以下标记发生的:

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

在 FF 和 Chrome 中,内部 UL 正在被拾取,但 IE7 似乎正在跳到下一个 li。什么可以作为解决方法?这是使用自定义手风琴脚本。

4

2 回答 2

5

ul不在里面,因为你在打开之前li已经关闭了。我不认为这是你想要的。liul

然后,要访问,<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>
于 2012-05-23T15:41:44.707 回答
1

那是无效的 HTML,所以你不应该对奇怪的结果感到惊讶。ul元素可能没有其他ul元素作为直接子元素;它们可能只包含li元素。IE7 大概将其包装ul在另一个li或类似的东西中以使其有效。

使您的 HTML 有效:这将帮助浏览器将其转换为您想要的 DOM 结构,并且您的 JS 编码将更加容易。

于 2012-05-23T15:43:17.573 回答