jquery find()和filter()的区别
博客专区 > pulading 的博客 > 博客详情
jquery find()和filter()的区别
pulading 发表于4年前
jquery find()和filter()的区别
  • 发表于 4年前
  • 阅读 11
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

find()是对它的子集操作,filter()对自身集合元素筛选

刚才在看Elleshop前端的js效果,发现一个filter()方法,心想怎么不用find()呢,查了一个两个函数的区别,文档上面是这么写的:

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

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


写了一个demo测试一下,

<html>

<head>

<script src="http://code.jquery.com/jquery-latest.js"></script>

<script type="text/javascript">

    $(function(){

       alert($("p").find(".selected").html()); // find html

       alert($("p").filter(".selected").html()); // filter html

    });

</script>

</head>

<body>

<p>html</p>

<p><span class="selected">find html</span></p>

<p class="selected">filter html</p>

</body>

</html>


也许你已经看出它们的区别了,find()会在p元素内寻找class为selected的元素。而filter()则是筛选p的class为selected的元素。一个是对它的子集操作,一个是对自身集合元素筛选


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 1
博文 8
码字总数 5444
×
pulading
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: