1

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

4 回答 4

0

尝试:

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

编辑

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

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

http://jsfiddle.net/aFm7T/

于 2013-05-07T14:03:32.393 回答
0

试试这个 - 演示 - > http://jsfiddle.net/mohammadAdil/55JSE/

$(".abc:not('#specificParent .abc')").html("");
于 2013-05-07T14:04:42.967 回答
0

选择所有不是 '#specificParent' 的父级的 '.abc':

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

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

于 2013-05-07T14:17:11.017 回答
0

尝试这个

$(".abc").not('#specificParent .abc').html("");
于 2013-05-07T14:08:28.647 回答