我需要选择某个类的元素,除了$(this)的子元素。诀窍是没有元素具有id属性,父元素和子元素的类是相同的,所以
<div class="onedoc">1
<div class="onedoc">1.1
<div class="onedoc">1.1.1</div>
</div>
<div class="onedoc">1.2</div>
</div>
<div class="onedoc">2</div>
<div class="onedoc">3</div>
在这个例子中,如果$(this)是1(第一个元素),我需要选择包含1.1.1,2和3的元素
答案 0 :(得分:4)
答案 1 :(得分:1)
$('.onedoc:not(:has(.onedoc))');
您可以通过以下方式指定目标:
$('.onedoc:not(:has(.onedoc))', $target); // where $target is some element you selected
答案 2 :(得分:0)
您可以使用jquery remove()
:http://api.jquery.com/remove/。
选择所有onedoc
元素,然后使用remove()
e.g。
$('.onedoc').remove($(this).children());
根据评论进行编辑:如果您不想包含节点本身,请将其删除:
$('.onedoc').remove($(this).children()).remove($(this));