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实现类似淘宝星星评分功能有截图
Sep 15 Javascript
JavaScript移除数组内重复元素的方法
Mar 18 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
Apr 12 Javascript
jQuery实现仿路边灯箱广告图片轮播效果
Apr 15 Javascript
分享十五款 jQuery 社交网络分享插件
May 16 Javascript
AngularJS表达式讲解及示例代码
Aug 16 Javascript
基于jQuery实现的幻灯图片切换
Dec 02 Javascript
Bootstrap导航条学习使用(一)
Feb 08 Javascript
关于express与koa的使用对比详解
Jan 25 Javascript
微信小程序实现上传图片功能
May 28 Javascript
vue中的数据绑定原理的实现
Jul 02 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
Sep 06 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
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
PHP分页类集锦
2014/11/18 PHP
PHP遍历数组的三种方法及效率对比分析
2015/02/12 PHP
php解析base64数据生成图片的方法
2016/12/06 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
分享几个超级震憾的图片特效
2012/01/08 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
2013/10/09 Javascript
js实现浏览器的各种菜单命令比如打印、查看源文件等等
2013/10/24 Javascript
JS简单设置下拉选择框默认值的方法
2016/08/20 Javascript
原生JavaScript制作计算器
2016/10/16 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
2017/06/17 Javascript
jQuery封装placeholder效果实现方法,让低版本浏览器支持该效果
2017/07/08 jQuery
JavaScript实现设置默认日期范围为最近40天的方法分析
2017/07/12 Javascript
js实现前端图片上传即时预览功能
2017/08/02 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
vue如何进行动画的封装
2018/09/26 Javascript
用node.js写一个jenkins发版脚本
2019/05/21 Javascript
vue中使用 pako.js 解密 gzip加密字符串的方法
2019/06/10 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
2020/06/24 jQuery
python文件名和文件路径操作实例
2017/09/29 Python
Python如何在DataFrame增加数值
2020/02/14 Python
python实现IOU计算案例
2020/04/12 Python
Pycharm在指定目录下生成文件和删除文件的实现
2020/12/28 Python
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
大学生职业生涯规划书范文
2014/01/04 职场文书
养殖项目策划书范文
2014/01/13 职场文书
银行金融服务方案
2014/06/11 职场文书
拆迁委托协议书
2014/09/15 职场文书
井冈山红色之旅感想
2014/10/07 职场文书
2014年小学教研工作总结
2014/12/06 职场文书
内勤岗位职责
2015/02/10 职场文书
个人工作保证书
2015/02/28 职场文书
信用卡工资证明范本
2015/06/19 职场文书
JS中一些高效的魔法运算符总结
2021/05/06 Javascript
梳理总结Python开发中需要摒弃的18个坏习惯
2022/01/22 Python