[英]How can i remove all div's and other DOM HTML elements except a particular class using jQuery
[英]How can I remove elements of a jQuery group that are descendants of other members?
假设我已经收集了一个与某些选择器匹配的jQuery DOM节点组,并且选择器是如此,使得某些匹配节点可能是其他匹配项的后代,例如:
<div class="row">
<!-- ... -->
<div class="row"><!-- ... --></div>
<!-- ... -->
</div>
<div class="row">
<!-- ... -->
<div class="row">
<!-- ... -->
<div class="row"><!-- ... --></div>
</div>
<div class="row"><!-- ... --></div>
<!-- ... -->
</div>
$rows = $('.row');
现在假设我将要执行的操作将影响每个节点的整个子树,并且我需要确保我最多对任何给定的DOM节点执行一次操作。 如何删除组中属于同一组其他成员后代的所有元素?
我发现最简单,最干净的方法是结合$.fn.not()
和$.fn.find()
:
var $rows = $('.row');
$rows = $rows.not($rows.find($rows));
$elems.find($elems)
将返回所有成员$elems
是一个或多个成员的后代$elems
(不包括元素本身,所以不用担心有)。 $elems.not(group)
将仅返回不在group
的$elems
group
。 在一起,这将找到$elems
所有其他成员的所有成员,然后返回其他所有内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.