jQuery层级选择器_动力节点节点Java学院整理


Posted in jQuery onJuly 04, 2017

因为DOM的结构就是层级结构,所以我们经常要根据层级关系进行选择。

层级选择器(Descendant Selector)

如果两个DOM元素具有层级关系,就可以用$('ancestor descendant')来选择,层级之间用空格隔开。例如:

<!-- HTML结构 -->
<div class="testing">
  <ul class="lang">
    <li class="lang-javascript">JavaScript</li>
    <li class="lang-python">Python</li>
    <li class="lang-lua">Lua</li>
  </ul>
</div>

要选出JavaScript,可以用层级选择器:

$('ul.lang li.lang-javascript'); // [<li class="lang-javascript">JavaScript</li>]
$('div.testing li.lang-javascript'); // [<li class="lang-javascript">JavaScript</li>]

因为<div><ul>都是<li>的祖先节点,所以上面两种方式都可以选出相应的<li>节点。
要选择所有的<li>节点,用:

$('ul.lang li');

这种层级选择器相比单个的选择器好处在于,它缩小了选择范围,因为首先要定位父节点,才能选择相应的子节点,这样避免了页面其他不相关的元素。

例如:

$('form[name=upload] input');

就把选择范围限定在name属性为upload的表单里。如果页面有很多表单,其他表单的<input>不会被选择。
多层选择也是允许的:

$('form.test p input'); // 在form表单选择被<p>包含的<input>

子选择器(Child Selector)

子选择器$('parent>child')类似层级选择器,但是限定了层级关系必须是父子关系,就是<child>节点必须是<parent>节点的直属子节点。还是以上面的例子:

$('ul.lang>li.lang-javascript'); // 可以选出[<li class="lang-javascript">JavaScript</li>]
$('div.testing>li.lang-javascript'); // [], 无法选出,因为<div>和<li>不构成父子关系

过滤器(Filter)

过滤器一般不单独使用,它通常附加在选择器上,帮助我们更精确地定位元素。观察过滤器的效果:

$('ul.lang li'); // 选出JavaScript、Python和Lua 3个节点

$('ul.lang li:first-child'); // 仅选出JavaScript
$('ul.lang li:last-child'); // 仅选出Lua
$('ul.lang li:nth-child(2)'); // 选出第N个元素,N从1开始
$('ul.lang li:nth-child(even)'); // 选出序号为偶数的元素
$('ul.lang li:nth-child(odd)'); // 选出序号为奇数的元素

表单相关

针对表单元素,jQuery还有一组特殊的选择器:

:input:可以选择<input>,<textarea>,<select>和<button>;
:file:可以选择<input type="file">,和input[type=file]一样;
:checkbox:可以选择复选框,和input[type=checkbox]一样;
:radio:可以选择单选框,和input[type=radio]一样;
:focus:可以选择当前输入焦点的元素,例如把光标放到一个<input>上,用$('input:focus')就可以选出;
:checked:选择当前勾上的单选框和复选框,用这个选择器可以立刻获得用户选择的项目,如$('input[type=radio]:checked');
:enabled:可以选择可以正常输入的<input>、<select> 等,也就是没有灰掉的输入;
:disabled:和:enabled正好相反,选择那些不能输入的。

此外,jQuery还有很多有用的选择器,例如,选出可见的或隐藏的元素:

$('div:visible'); // 所有可见的div
$('div:hidden'); // 所有隐藏的div

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
Apr 10 jQuery
jQuery+pjax简单示例汇总
Apr 21 jQuery
jQuery实现拼图小游戏(实例讲解)
Jul 24 jQuery
HTML5+JS+JQuery+ECharts实现异步加载问题
Dec 16 jQuery
jQuery实现文件编码成base64并通过AJAX上传的方法
Apr 12 jQuery
解决jQuery使用append添加的元素事件无效的问题
Aug 30 jQuery
jQuery实现侧边栏隐藏与显示的方法详解
Dec 22 jQuery
jQuery实现的五星点评功能【案例】
Feb 18 jQuery
jQuery each和js forEach用法比较
Feb 27 jQuery
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
Mar 19 jQuery
jQuery实现简单弹幕效果
Nov 28 jQuery
基于jquery实现彩色投票进度条代码解析
Aug 26 jQuery
jQuery简介_动力节点Java学院整理
Jul 04 #jQuery
jQuery查找和过滤_动力节点节点Java学院整理
Jul 04 #jQuery
jQuery动画_动力节点节点Java学院整理
Jul 04 #jQuery
jQuery实现点击关注和取消功能
Jul 03 #jQuery
关于jQuery.ajax()的jsonp碰上post详解
Jul 02 #jQuery
jquery实现一个全局计时器(商城可用)
Jun 30 #jQuery
jQuery表单设置值的方法
Jun 30 #jQuery
You might like
生成静态页面的PHP类
2006/11/25 PHP
通过具体程序来理解PHP里面的抽象类
2010/01/28 PHP
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
2011/09/19 PHP
详解WordPress中简码格式标签编写的基本方法
2015/12/22 PHP
tagName的使用,留一笔
2006/06/26 Javascript
jquery动态加载select下拉框示例代码
2013/12/10 Javascript
jQuery中detach()方法用法实例
2014/12/25 Javascript
jQuery左侧大图右侧小图焦点图幻灯切换代码分享
2015/08/19 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
Angular 2父子组件数据传递之@ViewChild获取子组件详解
2017/07/04 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
webpack4.x CommonJS模块化浅析
2018/11/09 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
python optparse模块使用实例
2015/04/09 Python
详解Python Socket网络编程
2016/01/05 Python
20招让你的Python飞起来!
2016/09/27 Python
Python编程产生非均匀随机数的几种方法代码分享
2017/12/13 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
基于Python3.6+splinter实现自动抢火车票
2018/09/25 Python
基于Python2、Python3中reload()的不同用法介绍
2019/08/12 Python
python tkinter组件摆放方式详解
2019/09/16 Python
利用Python产生加密表和解密表的实现方法
2019/10/15 Python
家庭户外服装:Hawkshead
2017/11/02 全球购物
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
android面试问题与答案
2016/12/27 面试题
CSMA/CD介质访问控制协议
2015/11/17 面试题
商务英语大学生职业生涯规划书范文
2014/01/01 职场文书
xxx同志考察材料
2014/02/07 职场文书
关于元旦的广播稿
2014/02/16 职场文书
关于保护环境的建议书
2014/08/26 职场文书
八荣八耻演讲稿
2014/09/15 职场文书
公安个人四风问题对照检查及整改措施
2014/10/28 职场文书
2015年教研组工作总结
2015/05/04 职场文书
大国崛起观后感
2015/06/02 职场文书