一直不是很清楚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')