这是jQuery里常用的2个方法。

他们2者功能是全然不同的,而刚开始学习的人往往会被误导。


首先 我们看.find()方法:
如今有一个页面,里面HTML代码为;
程序代码

<div class="css">
     
<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");

明确他们的差别了吗?

posted on 2013-06-12 09:39  知识天地  阅读(2820)  评论(0编辑  收藏  举报