jquery类选择器不包括具有特定父级的元素

时间:2013-05-07 14:00:49

标签: jquery css selector

HTML:

<div class="abc"> ... </div>
<div class="abc"> ... </div>
<div class="abc"> ... </div>
<div class="abc"> ... </div>
<div id="specificParent">
   <div class="abc"> ... </div>
</div>

在我的jquery中,除了最后一个abc之外,我想删除.abc div的所有内容。如何为此编写选择器?

jQuery的:

$(".abc, :not(#specificParent .abc)").html("");

上面的jquery不起作用。它只是传达我的意思。我需要帮助才能形成一个合适的工作选择器。

4 个答案:

答案 0 :(得分:0)

尝试:

$(":not(#specificParent) > .abc").empty();

修改

我想这可能不是最有效的选择器,性能方面。另一种方法是手动过滤掉它;

$(".abc").filter(function () {
    return this.parentElement.id !== "specificParent";
}).empty();

http://jsfiddle.net/aFm7T/

答案 1 :(得分:0)

试试这个 - 演示 - &gt; http://jsfiddle.net/mohammadAdil/55JSE/

$(".abc:not('#specificParent .abc')").html("");

答案 2 :(得分:0)

试试这个

$(".abc").not('#specificParent .abc').html("");

答案 3 :(得分:0)

选择所有'.abc',而不是父母'#specificParent':

$("*:not(#specificParent) > .abc")

演示:http://jsfiddle.net/4WeK4/