Jquery:选择不仅具有相同类名儿童的元素?

Jquery:选择不仅具有相同类名儿童的元素?

问题描述:

我该如何制作一个jQuery选择器来选择类名为“foo”的所有元素,除了那些只有类名为“bar”的子类的元素。Jquery:选择不仅具有相同类名儿童的元素?

<!-- Don't select this --> 
<div class="foo"> 
    <div class="bar"></div> 
    <div class="bar"></div> 
    <div class="bar"></div> 
    <div class="bar"></div> 
    <div class="bar"></div> 
</div> 

<!-- Don't select this --> 
<div class="foo"> 
    <div class="bar"><p>Some text</p></div> 
    <div class="bar"></div> 
    <div class="bar"></div> 
    <div class="bar"><p>Some text</p></div> 
    <div class="bar"></div> 
</div> 


<!-- Select this --> 
<div class="foo"> 
    <p>Some text</p> 
    <div class="bar"></div> 
    <div class="bar"></div> 
    <div class="bar"></div> 
    <div class="bar"></div> 
</div> 

<!-- Select this --> 
<div class="foo"> 
    <p>Some text</p> 
</div> 

像这样的事情?

$('.foo > :not(.bar)').closest('.foo'); 

Demo

所有.foo开始,发现除了那些有bar类眼前的孩子,并恢复到.foo

+0

巧妙使用CSS选择器! :-) – pdegand59 2013-04-25 10:56:52