サイトのメインメニューのスタイル設定に取り組んでおり、順序付けされていないリストの最初と最後のLI要素にクラスを追加したいのですが、トップレベルの最初と最後のアイテム のみです。
<div id="primary-menu-container" class="menu">
<div id="menu-icon">Menu</div>
<ul id="primary-menu" class="hover sf-menu">
<li><a href="#">Fabrics</a></li>
<li><a href="#">Contemporary</a></li>
<li><a href="#>Vinyl</a></li>
<li><a href="#">Gold</a></li>
<li><a href="#">History</a></li>
<li><a href="#">Test Tag</a>
<ul class="sub-menu">
<li><a href="#">Testing</a></li>
<li><a href="#">news</a></li>
</ul>
</li>
</ul>
</div>
最初のliは常に最上位のリスト要素であるため、最初のliは非常に簡単です。最後のトップレベルのリスト要素にサブメニューがある可能性があるため、最後の1つをターゲットにすることについて混乱しています。
選択された解決策はありませんでしたが、次の回答のいくつかごとに:最初のレベルの最後のliにクラスを追加する方法
私は次のことを試しました。これは最初の項目で機能しますが、「最後の」クラスを「テストタグ」とそのすべての子に追加しますが、このクラスは「テストタグ」liにのみ追加します。
$("#primary-menu > li:first").addClass("first");
$("#primary-menu > li:last").addClass("last");
これが私のフィドルです。</ p>