首页 > 代码库 > jquery find()和filter()的区别
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的元素。
一个是对它的子集操作,一个是对自身集合元素筛选.
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。