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

时间:2013-04-25 10:50:14

标签: jquery

如何创建一个jQuery选择器来选择所有类名为“foo”的元素,除了那些只有类名为“bar”的子元素的那些元素。

<!-- 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>

1 个答案:

答案 0 :(得分:2)

这样的东西?

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

Demo

从所有.foo开始,找到除bar类之外的直接孩子,并恢复为.foo