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