レスポンシブナビゲーションを作成しようとしていますが、サブメニュー<ul>を含むすべてのトップレベルメニュー項目に<span>を追加したいと思います。何らかの理由で、これはすべてのアイテムにスパンを追加するだけですが、その理由について誰かがアドバイスできますか?
マークアップは次のとおりです。
<nav class="nav">
<ul class="nav-list">
<li class="nav-item">
<a href="#">Home</a>
<ul class="nav-submenu">
<li class="nav-submenu-item">
<a href="#">Submenu item 1</a>
</li>
<li class="nav-submenu-item">
<a href="#">Submenu item 2</a>
</li>
<li class="nav-submenu-item">
<a href="#">Submenu item 3</a>
</li>
<li class="nav-submenu-item">
<a href="#">Submenu item 4</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="#">About</a>
</li>
<li class="nav-item">
<a href="#">Services</a>
</li>
<li class="nav-item">
<a href="#">Portfolio</a>
</li>
<li class="nav-item">
<a href="#">Testimonials</a>
</li>
<li class="nav-item">
<a href="#">Contact</a>
</li>
</ul>
</nav>
したがって、最初の項目にドロップダウンがあることがわかります。サブメニューを含む各<li>にスパン要素を動的に追加したいと思います。
そしてスクリプト(jQuery):
$.each($('.nav-item'), function (index, value) {
if ($('.nav-item').children('ul').length > 0) {
$(this).append($('<span class="nav-click"></span>'));
}
});
感謝します!