选择没有类的元素的子元素

时间:2013-08-23 06:55:02

标签: jquery jquery-selectors

我想选择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')

3 个答案:

答案 0 :(得分:2)

这样做:

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

你很近,但:not()内所需的选择器是.active-trail

<强> Demo fiddle

答案 1 :(得分:2)

这是 FIDDLE

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

答案 2 :(得分:1)

这应该有效

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

演示Fiddle