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は の中にありません。これはあなたが望むものではないと思います。liliul

すると、アクセスする<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のみを含めることができます。liIE7は、おそらくそれを有効にするためulに別のliものまたは類似のものでラップします。

HTMLを有効にします。これにより、ブラウザーがHTMLを意図したDOM構造に変換し、JSコーディングがはるかに簡単になります。

于 2012-05-23T15:43:17.573 に答える