2013-04-25 92 views
1

我該如何製作一個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> 

回答

2

像這樣的事情?

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

Demo

所有.foo開始,發現除了那些有bar類眼前的孩子,並恢復到.foo

+0

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