jquery find()和filter()的区别

本文通过一个具体实例,详细解释了jQuery中find()和filter()方法的功能和区别,帮助开发者理解如何在实际项目中选择合适的集合操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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的元素。一个是对它的子集操作,一个是对自身集合元素筛选


转载于:https://my.oschina.net/pulading1988/blog/272589

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值