find()和filter()的区别

这是jQuery里常用的2个方法。
他们2者功能是完全不同的,而初学者往往会被误导。
首先 我们看.find()方法:
现在有一个页面,里面HTML代码为

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

将会输出:

如果使用filter()方法:

将会输出:

也许你已经看出它们的区别了。
find()会在div元素内 寻找 class为rain 的元素。
而filter()则是筛选div的class为rain的元素, 过滤DOM元素包装集,删除不匹配的元素,得到一个新的集合 。
一个是对它的子集操作,一个是对自身集合元素筛选。

另外find()其实还可以用选择器表示:

发表评论