jQuery中filter()和find()的区别深入了解


一直不是很清楚filter()方法和find()方法的区别,今天在看jQuery Cookbook一书中,终于算是搞清楚了。

filter()过滤DOM元素包装集,是指操作当前元素集,删除不匹配的元素,得到一个新的集合
复制代码 代码如下:

$('div').filter('.div1');//选择div标签中class属性为div1的div元素

find()在当前选中元素的上下文中找到符合条件的后代,返回的是子元素
复制代码 代码如下:

$('div').find('em');//选择div标签中的em标签的元素

由上面可以看出,filter()是对选中的元素集合操作,得到这些元素中符合条件的元素,而find()是得到选中元素

中符合条件的后代子元素。

最后再介绍一个end()方法,用来返回破坏性修改之前的选择
复制代码 代码如下:

$('div').filter('.div1').end();//返回的是使用filter()之前的选择元素,即$('div')

« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3