0

"active-trail" クラスを持たない li (サブメニュー) 内のすべての ul.menu を選択したい

HTML:

<ul class="menu">
    <li>item 1</li>
    <li class="expanded">item 2
         <ul class="menu">
             <li>sub item a</li>
             <li>sub item b</li>
             <li>sub item c</li>
         </ul>
    </li>
    <li class="expanded">item 3
         <ul class="menu">
             <li>sub item d</li>
             <li>sub item e</li>
             <li>sub item f</li>
         </ul>
    </li>
    <li class="expanded active-trail">item 4
         <ul class="menu">
             <li>sub item g</li>
             <li>sub item h</li>
             <li>sub item i</li>
         </ul>
    </li>
</ul>

JQuery:

$('#region-menu ul.menu > li.expanded:not:has(active-trail) ul.menu ').addClass('hidden')
4

3 に答える 3

2

フィドルはこちら

$('ul.menu > li.expanded:not(.active-trail) ul.menu ').addClass('hidden');
于 2013-08-23T07:03:17.637 に答える
2

これは次のようになります。

$('li.expanded:not(.active-trail) ul.menu').addClass('hidden');

あなたは近くにいましたが、内部で必要なセレクター:not()はクラスです.active-trail

デモフィドル

于 2013-08-23T06:58:10.370 に答える
1

これはうまくいくはずです

$("li.expanded ul").parent(':not(.active-trail)')

デモフィドル

于 2013-08-23T07:00:30.527 に答える