jquery find()和filter()的区别

在写js查找当前标签下某一子元素的子元素集合时,用到了此方法

1 $(".flyout-trigger").mouseover(function(){
2    var maxnum=$(this).find(".flyout-link").children().filter("dt").size();
3    $(this).children(".flyout-link").show();
4    $(this).children(".flyout-link").animate({
5        height:maxnum*26+‘px‘
6    });
7  });

 

搜了一下关于find()和filter()的用法

函数的区别,文档上面是这么写的:

find(expr):搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法

filter(expr):筛选出与指定表达式匹配的元素集合。这个方法用于缩小匹配的范围。用逗号分隔多个表达式

 1 <html>
 2 <head>
 3 <script src="http://code.jquery.com/jquery-latest.js"></script>
 4 <script type="text/javascript">
 5     $(function(){
 6        alert($("p").find(".selected").html()); // find html
 7        alert($("p").filter(".selected").html()); // filter html
 8     });
 9 </script>
10 </head>
11 <body>
12 <p>html</p>
13 <p><span class="selected">find html</span></p>
14 <p class="selected">filter html</p>
15 </body>
16 </html>

也许你已经看出它们的区别了,find()会在p元素内寻找class为selected的元素。

而filter()则是筛选p的class为selected的元素。

一个是对它的子集操作,一个是对自身集合元素筛选.

 

jquery find()和filter()的区别,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。