簡體   English   中英

如何刪除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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM