jQuery中find和filter的区别
这是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");