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')
网友评论