jquery选择器之层级过滤选择器详解


Posted in Javascript onJanuary 27, 2014
$("ancestor descendant"):选取parent元素后所有的child元素
$("parent > child"):选取parent元素后所有的直属child元素,何谓“直属”,也就是第一级的意思了
$("prev + next"):prev和next是两个同级别的元素. 选中在prev元素后面的next元素
$("prev ~ siblings"):选择prev后面的根据siblings过滤的元素。注:siblings是过滤器

后两个用的比较少,一般会有其他选择器替代
$("prev + next")等价于next()
$("prev ~ siblings")等价于nextAll()

实例:
<style type="text/css">
  /*高亮显示*/
  .highlight{   
   background-color: gray
  }
 </style>

<body>
    <div>
     <p id="p1">第一个DIV里面的P元素。</p>
    </div>
    <p id="p2">第一个单P元素。</p>
    <div>
     <span>DIV里面的SPAN元素。</span>
     <p id="p3">第二个DIV里面的P元素。</p>
     <span>
      <p id="p4">DIV里面的SPAN里面的P元素。</p>
     </span>
    </div>
     <table>
      <tr>
       <th>A</th><th>B</th><th>C</th>
      </tr>
      <tr>
       <td>1</td><td>2</td><td>3</td>
      </tr>
     </table>
     <p id="p5">第二个单P元素。</p>
     <span>单SPAN元素。</span>
  </body>

var s = $("div p").addClass("highlight"); //选取div后面的所有p元素   结果为:p1,p3,p4

jquery选择器之层级过滤选择器详解
var s = $("div > p").addClass("highlight"); //选取div后 所有第一级p元素   结果为:p1,p3。p4不会选取,因为p4不是div的直属元素

jquery选择器之层级过滤选择器详解
var s = $("div + p").addClass("highlight");   //选取div后面紧邻的p元素  结果为:p2。p5不会选取,因为p5不紧邻div

jquery选择器之层级过滤选择器详解
var s = $("div ~ p").addClass("highlight");     //选取div后面所有紧邻的p元素  结果为:p2,p5

jquery选择器之层级过滤选择器详解
Javascript 相关文章推荐
JQuery中getJSON的使用方法
Dec 13 Javascript
Prototype源码浅析 String部分(一)之有关indexOf优化
Jan 15 Javascript
jquery插件制作教程 txtHover
Aug 17 Javascript
jQuery选择器源码解读(八):addCombinator函数
Mar 31 Javascript
你所不了解的javascript操作DOM的细节知识点(一)
Jun 17 Javascript
浅析JavaScript声明变量
Dec 21 Javascript
原生js编写基于面向对象的分页组件
Dec 05 Javascript
Vue全家桶实践项目总结(推荐)
Nov 04 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
Jan 29 Javascript
浅析JavaScript异步代码优化
Mar 18 Javascript
JavaScript使用百度ECharts插件绘制饼图操作示例
Nov 26 Javascript
vue实现从外部修改组件内部的变量的值
Jul 30 Javascript
jquery选择器之内容过滤选择器详解
Jan 27 #Javascript
jquery选择器之属性过滤选择器详解
Jan 27 #Javascript
jQuery自定义事件的简单实现代码
Jan 27 #Javascript
jQuery中bind与live的用法及区别小结
Jan 27 #Javascript
jQuery实现动画效果的简单实例
Jan 27 #Javascript
firefox下jquery ajax返回object XMLDocument处理方法
Jan 26 #Javascript
js修改原型的属性使用介绍
Jan 26 #Javascript
You might like
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
php常用Output和ptions/Info函数集介绍
2013/06/19 PHP
深入解析PHP的Laravel框架中的event事件操作
2016/03/21 PHP
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
JavaScript利用append添加元素报错的解决方法
2014/07/01 Javascript
JS实现文字掉落效果的方法
2015/05/06 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
js调用百度地图及调用百度地图的搜索功能
2015/09/07 Javascript
EasyUI闪屏EasyUI页面加载提示(原理+代码+效果图)
2016/02/21 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
2016/07/01 Javascript
详解在React里使用&quot;Vuex&quot;
2018/04/02 Javascript
使用JavaScript中的lodash编写双色球效果
2018/06/24 Javascript
Vue中实现权限控制的方法示例
2019/06/07 Javascript
微信公众号平台接口开发 菜单管理的实现
2019/08/14 Javascript
使用Promise封装小程序wx.request的实现方法
2019/11/13 Javascript
利用Python的Django框架中的ORM建立查询API
2015/04/20 Python
书单|人生苦短,你还不用python!
2017/12/29 Python
详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
2018/10/09 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
Python+OpenCV实现旋转文本校正方式
2020/01/09 Python
浅谈Python中的异常和JSON读写数据的实现
2020/02/27 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
澳大利亚儿童鞋在线:The Trybe
2019/07/16 全球购物
匡威俄罗斯官网:Converse俄罗斯
2020/05/09 全球购物
毕业生自荐书模版
2014/01/04 职场文书
寄语是什么意思
2014/04/10 职场文书
《陈涉世家》教学反思
2014/04/12 职场文书
企业员工薪酬方案
2014/06/04 职场文书
电子专业求职信
2014/06/19 职场文书
股东出资证明书范例
2014/10/04 职场文书
辞职信标准格式
2015/02/27 职场文书
家长反馈意见及建议
2015/06/03 职场文书
JS 基本概念详细介绍
2021/10/16 Javascript
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers