1

ナビゲーション アイテム li にドロップダウンがあるかどうかを検出するにはどうすればよいですか? 以下の例では:

<div id="nav">
    <ul>
        <li><a href="#">Link One</a></li>
        <li><a href="#">Link One</a> <!-- add class to this LI -->
            <ul class="dropdown">
                <li><a href="#">Link One</a></li>
                <li><a href="#">Link One</a></li>
            </ul>
        </li>
        <li><a href="#">Link One</a></li>
        <li><a href="#">Link One</a></li>
        <li><a href="#">Link One</a></li>
        <li><a href="#">Link One</a></li>
    </ul>
</div>

重要

jQueryを使用することは公平であることはわかっていますが、JQUERYを使用したくありません。

これは私が JS を必要とする唯一の場所です。JavaScript を使用していない非常にクリーンなサイトを開発しています。したがって、この部分を揺さぶるためだけに、jQuery を使用したくありません。

ただし、IE8 との互換性が必要です。

プレーンな JavaScript を使用してこの問題を解決してください。皆さんありがとう!

4

2 に答える 2

0

Kolinkの回答に加えて、 andquerySelectorAllを使用して(および IE7 でも動作する)使用せずに同じことを行うことができます。getElementByIDgetelementsByClassName

var parent = document.getElementById("nav"),
    childs = parent.getElementsClassName("dropdown"),
    length = childs.length,
    i;

for (i = 0; i < length; i++) {
    childs[i].parentNode.className = "derp";
}
于 2013-10-05T11:32:54.767 に答える