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 相关文章推荐
javascript中的parseInt和parseFloat区别
Jul 12 Javascript
js中的referrer返回上一页使用介绍
Sep 26 Javascript
用JS在浏览器中创建下载文件
Mar 05 Javascript
jQuery中$.each使用详解
Jan 29 Javascript
深入学习AngularJS中数据的双向绑定机制
Mar 04 Javascript
vue组件中点击按钮后修改输入框的状态实例代码
Apr 14 Javascript
解决jQuery使用append添加的元素事件无效的问题
Aug 30 jQuery
浅谈在Vue.js中如何实现时间转换指令
Jan 06 Javascript
js 计算图片内点个数的示例代码
Apr 04 Javascript
Vue数据绑定简析小结
May 07 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
Feb 05 Javascript
Vue3如何理解ref toRef和toRefs的区别
Feb 18 Vue.js
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
php5新改动之短标记启用方法
2008/09/11 PHP
PHP操作Memcache实例介绍
2013/06/14 PHP
php仿QQ验证码的实例分析
2013/07/01 PHP
测试PHP连接MYSQL成功与否的代码
2013/08/16 PHP
浅析Yii2中GridView常见操作
2016/04/22 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
传递参数的标准方法(jQuery.ajax)
2008/11/19 Javascript
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
EditPlus注册码生成器(js代码实现)
2013/03/25 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
js字符串转成JSON
2013/11/07 Javascript
JavaScript简单实现鼠标拖动选择功能
2014/03/06 Javascript
jQuery中scrollTop()方法用法实例
2015/01/16 Javascript
JavaScript之AOP编程实例
2015/07/17 Javascript
谈谈我对JavaScript DOM事件的理解
2015/12/18 Javascript
纯js实现悬浮按钮组件
2016/12/17 Javascript
纯js实现html转pdf的简单实例(推荐)
2017/02/16 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
解决betterScroll在vue中存在图片时,出现拉不动的问题
2018/09/27 Javascript
移动端手指操控左右滑动的菜单
2019/09/08 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
2020/11/09 Javascript
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
Python实现简单的可逆加密程序实例
2015/03/05 Python
opencv转换颜色空间更改图片背景
2019/08/20 Python
使用Python实现Wake On Lan远程开机功能
2020/01/22 Python
Python任务自动化工具tox使用教程
2020/03/17 Python
CSS3实现鼠标悬停显示扩展内容
2016/08/24 HTML / CSS
html5与css3小应用
2013/04/03 HTML / CSS
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
应届生体育教师自荐信
2013/10/03 职场文书
电脑教师的自我评价
2013/12/18 职场文书
2015年行政人事部工作总结
2015/05/13 职场文书
Feign调用全局异常处理解决方案
2021/06/24 Java/Android
Python编程源码报错解决方法总结经验分享
2021/10/05 Python