簡體   English   中英

jQuery find()包括當前節點

[英]jQuery find() including current node

我想使用jQuery的find()方法選擇元素。 此方法搜索節點的子級,但不包括我也要考慮的節點本身。 在回答這個問題時,他們建議這樣做:

object.find('selector').addBack('selector')

對我來說,這似乎是一個不錯的解決方法,但不幸的是,此解決方案不適用於每個選擇器。 假設我有一些節點

<div class="someClass">
  <div></div>
  <div class="someClass">
    <span></span>
  </div>
</div>

並希望使用子選擇器'.someClass > *' (或影響當前節點及其后代的類似選擇器)。 我期望得到2 div元素和span ,但是很顯然,我只能得到span元素。

有人知道解決方法或其他方法嗎?

假設您不擔心拾取兄弟元素,則可以從開始的節點的父節點開始查詢。 這將確保所涉及的節點包含在查詢中。

 const selector = '.someClass > *'; let $node = $('body > .someClass'); let $matches = $node.parent().find(selector); console.log($matches) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="someClass"> <div></div> <div class="someClass"> <span></span> </div> </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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