基于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