1. 程式人生 > >jQuery中find和filter的區別

jQuery中find和filter的區別

query spa com 區別 tex 自身 技術 ext inf

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


首先 我們看.find()方法:
現在有一個頁面,裏面HTML代碼為;
程序代碼

<div class="css">
     <p class="rain">測試1</p>
</div>
<div class="rain">
     <p>測試2</p>
</div>

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

var $find = $("div").find(".rain");
alert( $find.html() ) ;

將會輸出:

技術分享圖片

如果使用filter()方法:

var $filter = $("div").filter(".rain");
alert( $filter.html() );

將會輸出:

技術分享圖片

也許你已經看出它們的區別了。
find()會在div元素內 尋找 class為rain 的元素,是對它的子集操作。
而filter()則是篩選div的class為rain的元素,是對自身集合元素篩選。

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

var $select = $("div .rain");

jQuery中find和filter的區別