基于jquery 的find()函数和children()函数的区别

Posted 毫厘wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于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‘)


以上是关于基于jquery 的find()函数和children()函数的区别的主要内容,如果未能解决你的问题,请参考以下文章

基于jquery中children()与find()的区别介绍

find 不是函数 jquery

jQuery遍历之find()

jQuery中find()方法的疑惑

在 Laravel 4 的 .find jquery 行中使用辅助函数

jQuery中each()find()filter()等节点操作方法