0

いくつかのグーグル検索の後に見つけた JavaScript ドロップダウン ナビゲーション メニューを使用しており、希望どおりにスタイルを設定できました。ただし、サイトを検証した後、ulタグでエラーが発生します (エラー:このコンテキストulでは要素の子として要素は許可されていませんul。(このサブツリーからさらにエラーを抑制しています。))。このエラーが発生するだけでなく、ナビゲーションが正常に機能しません。ulとタグのさまざまなバリエーションを試しliて移動しましたが、まだ正しく動作しません。

<div class="nav">
<ul id="menu" class="menu">
    <li><a href="#">One</a>
        <ul>

    <li class="submenu">
        <a href="#">One</a>
    <ul>
        <li><a href="#">One</a></li>
        <li><a href="#">Two</a></li>
        <li><a href="#">Three</a></li>
    </ul>
            </li>

    <li class="submenu">
        <li><a href="#">Two</a></li>
            <ul>
                <li><a href="#">One</a></li>
                <li><a href="#">Two</a></li>
                <li><a href="#">Three</a></li>
            </ul>   
        </ul>
    </li>

    <li><a href="#">Two</a>
        <ul> 
    <li class="submenu"><a href="#">One</a></li>
    <li class="submenu"><li><a href="#">Deny</a></li>
                <ul>
                    <li class="noborder"><a href="#">One</a></li>
                    <li><a href="#">Two</a></li>
                    <li><a href="#">Three</a></li>
                </ul> 
        </ul>
    </li>

    <li><a href="#">Three</a>
        <ul>

    <li class="submenu">
        <a href="#">One</a>
            </li> 
        </ul>
    </li>

    <li><a href="#">Four</a>
        <ul>

    <li class="submenu">
        <a href="#">One</a>
            </li> 
        </ul>
    </li>
</ul>

4

2 に答える 2

1

親divタグを閉じて、それが役立つかどうかを確認してください

これも…

 <li class="submenu">
        <li><a href="#">Two</a></li>
            <ul>
                <li><a href="#">One</a></li>
                <li><a href="#">Two</a></li>
                <li><a href="#">Three</a></li>
            </ul>   
        </ul>
    </li>

...子ulタグを作成する前にliタグをネストしているため、おそらく再作業が必要です。ul タグと li タグを適切にネストする方法を学ぶ必要があるだけです。これは、同様の問題について話しているstackoverflowで見つけ たディスカッションです。

HTML が正しく作成されると、javascript プロセスの管理が容易になります。

それが役立つことを願っています。

于 2013-05-09T12:55:21.070 に答える
1

これがあなたのJavaスクリプトコードの問題かどうかはわかりません。しかし、これらの html タグの記述の不一致も、この種の問題を引き起こす可能性があります。開始タグと終了タグをもう一度確認し、正しい位置にあるかどうかを確認してください。HTMLコードを調べたところ、タグに不一致が見つかりました。1 つは、最初のメニュー項目です。2 つは、2 つの li /li タグの間に書かれています。しかし、最初の 1 つのメニュー項目は、これらの li /li タグの間にありません。

于 2013-05-09T12:45:30.637 に答える