filter和find有什么区别?

filter和find有什么区别?

如题,感觉两个方法作用一样啊

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,find()方法是获得当前元素的子元素,但是“我是兄弟元素”这个标签不是当前元素的子元素,所以“我是兄弟元素”没有找出来。

同学可以测试一下我举得例子哦。

  • Yuri沫 提问者 #1
    突然顿悟,重点是find是找子元素,而filter是可以找到当前元素,是这么理解吧?
    2019-02-12 17:00:02
  • 山河远阔ZZ 回复 提问者 Yuri沫 #2
    filter()不管是兄弟元素还是子元素,只要div里有.rain这个类名的元素就会查找到哦。
    2019-02-12 17:03:54
山河远阔ZZ 2019-02-12 16:30:26

同学你好,这是完整的代码:

http://img1.sycdn.imooc.com//climg/5c62841d00016fe310830524.jpg

  • 提问者 Yuri沫 #1
    老师,我还是不能理解为什么“我是兄弟元素”的这个div没有被find出来,明明他的class也是rain啊
    2019-02-12 16:36:45
山河远阔ZZ 2019-02-12 15:42:12

同学你好,filter()和find()的功能是不相同的。

filter():将匹配元素集合缩减为匹配指定选择器的元素。

find():获得当前元素集合中每个元素的后代,通过选择器、jQuery 对象或元素来筛选。

前者是对自身集合元素筛选,后者是对它的子集操作。

例如:

filter()是筛选div的class为rain的元素,而find()会在div元素里面寻找 class为rain 的元素。

http://img1.sycdn.imooc.com//climg/5c6278210001e2fe06650180.jpg

效果:

http://img1.sycdn.imooc.com//climg/5c62786e0001104406100457.jpg

自己试一试哦,如果帮助到了你,欢迎采纳。

祝学习愉快!

  • 提问者 Yuri沫 #1
    老师好,可以把这个例子的html代码发一下吗?光这么看结果不太明白html结构是怎样的
    2019-02-12 16:28:08
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师