jQuery中find方法和filter方法的区别 00 笨笨剥壳
2个回答
展开全部
find和filter最大的区别在于操作对象。
find的操作对象是指向该选择器选择的元素的所有子元素,而且不仅仅是第一级子元素,是所有的子元素。这和起着大致功能的children不同,children只会选择第一级子元素。
而filter的操作对象则是改选择器选择的元素的集合。filter起到的作用是把该集合进行缩小,并进行链式传递,也就是向后传递。
说起来可能感觉很模糊,举个例子就明白了。
首先是html代码
<div class="out" id="one">
<div class="in">
<div>
</div>
<div class="out in" id="two">
<div class="in">
<div>
</div>
首先,测试find,代码如下
$(".out").find(".in")
这样返回的就是里层的div元素,而filter呢?
$(".out").filter(".in")
这样返回的就不再试里层的div,而是id为two的div。因为filter执行的操作是将范围缩小。$(".out")返回了所有的class为out的元素,传递给filter,filter接收到这个集合,并对其中的class包含了in的元素进行删选。这样就得到了id为two的元素。
这就是二者的区别
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询