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