jQuery中find和filter的區別 – Javascript教程_JS教程_技術文章 – 程式設計聯盟

這是jQuery裡常用的2個方法。
他們2者功能是完全不同的,而初學者往往會被誤導。

現在有一個頁面,裡面HTML代碼為;
<p >

<p class="rain">測試1</p>
</p>

<p class="rain">
     <p>測試2</p>
</p>

 

①如果我們使用find()方法:

var result = $("p").find(".rain");
alert(result.html() ) ;
結果:測試1
 
 
 
②如果使用filter()方法:
var result = $("p").filter(".rain");
alert(result .html() );
結果:<p>測試2</p>
 
 
find()會在p元素內尋找class為rain 的元素,是對它的子集操作
filter()則是篩選p的class為rain的元素,是對它自身集合元素篩選

 

另外find()其實還可以用選擇器表示:

var $select = $("p .rain");
明白他們的區別瞭嗎?

 

摘自 徐越的專欄

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *