jQuery筛选器children()案例详解(图文)


Posted in Javascript onFebruary 17, 2013

jQuery的选择包含两种,一种是选择器,一种是筛选器。筛选器是对选择器选定的jQuery对象做进一步选择。

children()是一个筛选器,顾名思义就是筛选孩子,筛选那些符合条件的孩子。

完整的格式如下:

.children(expr)

其中children是筛选器的名称,expr是表达式,所有选择器中的表达式都可以用在这,比如按标签名"div",按类名".class",按序号":first"等等,如果表达式为空,那么返回的是所有的孩子,返回的结果仍为jQuery对象。例如:
<body> 
<div id="main"> 
<div id="like" class="rightbar"> 
<h2>猜你喜欢</h2> 
<ul> 
<li>海飞丝洗头膏</li> 
<li>六神花露水</li> 
<li>舒肤佳香皂</li> 
<li>心相印纸巾</li> 
<li>哇哈哈矿泉水</li> 
<li>王老吉</li> 
</ul> 
</div> 
<div id="hot" class="rightbar"> 
<h2>热门推荐</h2> 
<ul> 
<li>融氏橄榄油</li> 
<li>帮宝适纸尿裤</li> 
<li>有机大米</li> 
<li>妙洁垃圾袋</li> 
<li>优乐美奶茶</li> 
<li>亲亲果冻</li> 
</ul> 
</div> 
<div id="inner"></div> 
</div> 
</body>

<script type="text/javascript" language="javascript"> 
//此处为jQuery代码 
</script>

需求1:把所有div的孩子的字体颜色变为红色
$("div").children().css("color","red");//所有的文字都变成了红色

jQuery筛选器children()案例详解(图文)

需求2:把所有的div的孩子中是h2标签的字体颜色变为红色

$("div").children("h2").css("color","red");//所有h2标题的文字都变成了红色

jQuery筛选器children()案例详解(图文)

需求3:把所有div的孩子中是li标签的字体颜色变为红色

$("div").children("li").css("color","red");//失败!

jQuery筛选器children()案例详解(图文)

为什么不成功呢?因为children只能找孩子,找不到孙子辈的,而div的孩子是h2和ul,所以找不到li;

那么要想通过children找到li,只有先选定li的父亲ul

$("div ul").children("li").css("color","red");//所有li的文字都变成了红色

$("div ul")是一个联级选择器,意思是选择div下面的ul,这里不详细解释。

jQuery筛选器children()案例详解(图文)
需求4:把ul的第二个孩子的字体颜色变为红色

$("div ul").children(":eq(1)").css("color","red");//猜你喜欢的第二行“六神花露水”会变红

jQuery筛选器children()案例详解(图文)

要第二个孩子变红,为什么是eq(1)呢?因为顺序号是从0开始的,第一个孩子的序号是0,所以第二个孩子的序号就是1咯。

细一看发现只有“猜你喜欢”模块的第二行变了,“热门推荐”的第二行没变,为什么呢?因为children筛选器筛选出来的孩子是在一块排序的,所以“热门推荐”的第二行就变成了老7,要想变红可以这么写:

$("div ul").children(":eq(1),:eq(7)").css("color","red");//猜你喜欢的第二行,热门推荐的第二行都变红

二行都变红]

jQuery筛选器children()案例详解(图文)

总结一下:children是一个筛选器,找到当前jQuery对象的孩子,children(expr)中的expr是表达式,加了expr之后符合expr的孩子才会留下来,不符合的就干掉了。children只能找孩子,要想找孙子辈的、重孙子辈的,那就得用 find 筛选器。

Javascript 相关文章推荐
让IE8支持DOM 2(不用框架!)
Dec 31 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
Apr 07 Javascript
JS小游戏之宇宙战机源码详解
Sep 25 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
Sep 30 Javascript
textarea 在浏览器中固定大小和禁止拖动的实现方法
Dec 03 Javascript
babel之配置文件.babelrc入门详解
Feb 22 Javascript
解决vue-router进行build无法正常显示路由页面的问题
Mar 06 Javascript
Vue SSR 组件加载问题
May 02 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
Aug 12 Javascript
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
May 17 Javascript
基于Node.js搭建hexo博客过程详解
Jun 25 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
Dec 06 Javascript
正则表达式搭配js轻松处理json文本方便而老古
Feb 17 #Javascript
jQuery图片播放8款精美插件分享
Feb 17 #Javascript
jQuery性能优化28条建议你值得借鉴
Feb 16 #Javascript
JavaScript调用堆栈及setTimeout使用方法深入剖析
Feb 16 #Javascript
js nextSibling属性和previousSibling属性概述及使用注意
Feb 16 #Javascript
jQuery事件绑定.on()简要概述及应用
Feb 07 #Javascript
10个基于浏览器的JavaScript调试工具分享
Feb 07 #Javascript
You might like
php flush类输出缓冲剖析
2008/10/19 PHP
php 正则表达式小结
2009/08/31 PHP
mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函数
2010/03/21 PHP
ajax 的post方法实例(带循环)
2011/07/04 PHP
第二章 PHP入门基础之php代码写法
2011/12/30 PHP
查找php配置文件php.ini所在路径的二种方法
2014/05/26 PHP
PDO预处理语句PDOStatement对象使用总结
2014/11/20 PHP
使用PHP生成图片的缩略图的方法
2015/08/18 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
弹出广告特效代码(一个IP只弹出一次)
2007/05/11 Javascript
js继承的实现代码
2010/08/05 Javascript
jquery应该如何来设置改变按钮input的onclick事件
2012/12/10 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
ComboBox 和 DateField 在IE下消失的解决方法
2013/08/30 Javascript
Firefox和IE兼容性问题及解决方法总结
2013/10/08 Javascript
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
jQuery实现响应鼠标背景变化的动态菜单效果代码
2015/08/27 Javascript
使用vue.js开发时一些注意事项
2016/04/27 Javascript
Extjs4.0 ComboBox如何实现三级联动
2016/05/11 Javascript
JS动态给对象添加属性和值的实现方法
2016/10/21 Javascript
微信小程序实现滑动删除效果
2017/05/19 Javascript
web前端vue实现插值文本和输出原始html
2018/01/19 Javascript
微信小程序自定义tab实现多层tab嵌套功能
2018/06/15 Javascript
浅谈vue生命周期共有几个阶段?分别是什么?
2020/08/07 Javascript
Python抓取手机号归属地信息示例代码
2016/11/28 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
OpenCV 边缘检测
2019/07/10 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
Python完全识别验证码自动登录实例详解
2019/11/24 Python
keras:model.compile损失函数的用法
2020/07/01 Python
Grid 宫格常用布局的实现
2020/01/10 HTML / CSS
黑猩猩商店:The Chimp Store
2020/02/12 全球购物
String s = new String(“xyz”);创建了几个String Object?
2015/08/05 面试题
机关党员四风问题个人整改措施
2014/10/26 职场文书
2015年预算员工作总结
2015/05/14 职场文书
庆祝教师节主题班会
2015/08/17 职场文书