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实现DIV滚动自动滚动到底部的代码
Mar 01 Javascript
如何使用Javascript获取距今n天前的日期
Jul 08 Javascript
页面加载完毕后滚动条自动滚动一定位置
Feb 20 Javascript
js精美的幻灯片画集特效代码分享
Aug 29 Javascript
基于OL2实现百度地图ABCD marker的效果
Oct 01 Javascript
浅谈使用MVC模式进行JavaScript程序开发
Nov 10 Javascript
移动端滑动插件Swipe教程
Oct 16 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
May 25 Javascript
VueJs 搭建Axios接口请求工具
Nov 20 Javascript
Node.js引入UIBootstrap的方法示例
May 11 Javascript
Vue源码解析之Template转化为AST的实现方法
Dec 14 Javascript
Vue使用Canvas绘制图片、矩形、线条、文字,下载图片
Apr 26 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
网络资源
2006/10/09 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
php实现根据词频生成tag云的方法
2015/04/17 PHP
微信支付开发告警通知实例
2016/07/12 PHP
thinkPHP分组后模板无法加载问题解决方法
2016/07/12 PHP
JavaScript的面向对象方法以及差别
2008/03/31 Javascript
JQuery 常用操作代码
2010/03/14 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
Bootstrap的modal拖动效果
2016/12/25 Javascript
jquery Banner轮播选项卡
2016/12/26 Javascript
Angular路由简单学习
2016/12/26 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
canvas实现十二星座星空图
2017/02/14 Javascript
JavaScript正则替换HTML标签功能示例
2017/03/02 Javascript
10道典型的JavaScript面试题
2017/03/22 Javascript
jQuery实现可兼容IE6的遮罩功能详解
2017/09/19 jQuery
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
2018/10/17 NodeJs
浅谈JS和jQuery的区别
2019/03/27 jQuery
jquery实现选项卡切换代码实例
2019/05/14 jQuery
angular6开发steps步骤条组件
2019/07/04 Javascript
JavaScript直接调用函数与call调用的区别实例分析
2020/05/22 Javascript
[50:27]Secret vs VG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[01:11:32]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
Pytorch中的VGG实现修改最后一层FC
2020/01/15 Python
python入门:argparse浅析 nargs='+'作用
2020/07/12 Python
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
国外的一些J2EE面试题一
2012/10/13 面试题
合同协议书格式
2014/04/18 职场文书
交通事故委托书范本(2篇)
2014/09/21 职场文书
索赔员岗位职责
2015/02/15 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
总结Pyinstaller打包的高级用法
2021/06/28 Python
React Fragment介绍与使用详解
2021/11/11 Javascript
win10音频服务未响应怎么解决?win10音频服务未响应未修复的解决方法
2022/08/14 数码科技