用示例说明filter()与find()的用法以及children()与find()的区别分析_jquery
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了用示例说明filter()与find()的用法以及children()与find()的区别分析_jquery,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3676字,纯文字阅读大概需要6分钟。
内容图文
jquery的find()方法与filter()方法对于初学者来说容易混淆,在这里对这两个方法通过一个小例子来进行比较和说明。旨在了解这两种方法的区别。html代码
测试1
测试2
先看看find()方法
$("div").find(".rain").css('color', '#FF0000');
//等价于:$("div .rain").css('color','#ff0000');
//也等价于:$(".rain","div").css('color','#ff0000');
显示结果:
问题:这里为什么“测试2”不变为红色?
find() 方法定义:它是获得当前元素集合中每个元素的后代,通过选择器、jQuery 对象或元素来筛选。
find()方法要注意的地方:find()方法是在当前元素集合内部查找。不包括自己。
上面例子中$("div")包含两个元素。第一个元素符合要求。但第二个元素div本身的class虽然是"rain",但其内部没有class=rain。所以不符合。
下面使用filter()方法看看有什么新玩意
$("div").filter(".rain").css('color', '#FF0000');
显示结果:
filter()方法定义:filter() 方法将匹配元素集合缩减为指定选择器的元素。
意思就是对匹配元素的集合,用选择器测试每个元素本身(不是后代),符合选择器的元素包含在集合中,不符合的去掉(选择器就是起过滤作用)。形成一个新的结果集。
在上面例子中:find()会在div元素内部(后代)寻找 class为rain 的元素。而filter()则是筛选div的class为rain的元素。一个是对它的子集操作,一个是对自身集合元素筛选。
在看两个filter()方法的例子:例一 例二
使用filter()方法的第二个形式是,通过函数而不是选择器来筛选元素。对于每个元素,如果该函数返回 true,则元素会被包含在已筛选集合中;否则,会排除这个元素。
看一下下面的例子:
---------------------------
来自网页的消息
---------------------------
The code is in your clipboard now
---------------------------
确定
---------------------------
$('li').filter(function(index) {
return $('strong', this).length == 1;
}).css('background-color', 'red');
结果如下:
这里在顺便说一下find()方法和children()方法的区别
find()方法上面已经说过了,在此不在熬述,下面说一下children()方法。
children,表面意思就是:孩子,儿童,子女的意思。我一般这里理解为子女或儿子。为什么这样理解?下面先看一下children的定义吧
children()方法定义:它是获得匹配元素集合中每个元素的所有子元素。(不包括自己,只能在儿子辈(第一层)查找)
find() 方法定义: 它是获得当前元素集合中每个元素的后代,通过选择器、jQuery 对象或元素来筛选。
我理解是children是匹配集合中每个元素的“儿子辈”的子元素。find()除了儿子辈,还包括孙子辈。即只要是它的后代就行。
下面通过一个例子来看看:
内容总结
以上是互联网集市为您收集整理的用示例说明filter()与find()的用法以及children()与find()的区别分析_jquery全部内容,希望文章能够帮你解决用示例说明filter()与find()的用法以及children()与find()的区别分析_jquery所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。