基於jquery 的find()函數和children()函數的區別


element.find(selector)  返回匹配element集合中每個元素的后代,參數selector是必須的,可以通過選擇器對元素進行過濾,篩選出符合條件的元素。如果想選中所有的后代元素,則參數傳通配選擇器  "*"

element.children(selector)  返回匹配element集合中每個元素的子代,參數selector不是必須的,如果參數省略,則會選中element下的所有子代元素;如果傳入參數,則會在子代元素中通過選擇器對其進行過濾,篩選出符合條件的元素。

總結:children只會遍歷指定DOM元素的下一層級,find會遍歷指定DOM元素下的所有后代層級

擴展:find方法擴展
選擇器context就是用find方法實現的。

jquery(selector,[context]) 即$(selector,[context])

可能大多數的人都是只用到了$(selector)來選擇元素,如果只傳入第一個參數的話,就會從document元素下查找匹配的元素。

如果傳入第二個參數,就會從context中查找,其返回的元素順序等同於在context中出現的先后順序。

$("p", this) 等價於 $(this).find("p"),$('li.item-ii').find('li') 等價於 $('li', 'li.item-ii')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM