find()和filter()的区别?

发布网友 发布时间:2022-04-23 02:35

我来回答

1个回答

热心网友 时间:2022-04-23 01:07

这是jQuery里常用的2个方法。
他们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() ) ;
将会输出:
测试1

如果使用filter()方法:
var $filter = $("div").filter(".rain");
alert( $filter.html() );
将会输出:
<p>测试2</p>

也许你已经看出它们的区别了。
find()会在div元素内 寻找 class为rain 的元素。
而filter()则是筛选div的class为rain的元素。
一个是对它的子集操作,一个是对自身集合元素筛选。

另外find()其实还可以用选择器表示:
var $select = $("div .rain");

明白他们的区别了吗?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com