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 相关文章推荐
JS实现简单的Canvas画图实例
Jul 04 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
May 28 Javascript
jQuery Migrate 1.1.0 Released 注意事项
Jun 14 Javascript
深入分析Cookie的安全性问题
Mar 01 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
Oct 30 Javascript
webpack独立打包和缓存处理详解
Apr 03 Javascript
Javascript中的getter和setter初识
Aug 17 Javascript
Vue项目引进ElementUI组件的方法
Nov 11 Javascript
vue使用vuex实现首页导航切换不同路由的方法
May 08 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
Sep 06 Javascript
javascript的惯性运动实现代码实例
Sep 07 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
Jan 08 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
mysq GBKl乱码
2006/11/28 PHP
仿AS3实现PHP 事件机制实现代码
2011/01/27 PHP
PHP与C#分别格式化文件大小的代码
2011/05/14 PHP
php文件扩展名判断及获取文件扩展名的N种方法
2015/09/12 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
2017/02/15 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
2013/04/28 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
基于Vue单文件组件详解
2017/09/15 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
2018/09/27 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
深入理解 JS 垃圾回收
2019/06/03 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
Python 的 with 语句详解
2014/06/13 Python
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
用python 批量更改图像尺寸到统一大小的方法
2018/03/31 Python
Python DataFrame一列拆成多列以及一行拆成多行
2019/08/06 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
2019/08/13 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
解决python DataFrame 打印结果不换行问题
2020/04/09 Python
python多进程 主进程和子进程间共享和不共享全局变量实例
2020/04/25 Python
Python使用shutil模块实现文件拷贝
2020/07/31 Python
HTML5 语音搜索(淘宝店语音搜素)
2013/01/03 HTML / CSS
英国儿童设计师服装和玩具购物网站:Zac & Lulu
2020/10/19 全球购物
学习心得体会
2014/01/01 职场文书
兼职业务员岗位职责
2014/01/01 职场文书
社区七一党员活动方案
2014/01/25 职场文书
单位介绍信格式范文
2015/05/04 职场文书
2015年加油站工作总结
2015/05/13 职场文书
《假如》教学反思
2016/02/17 职场文书
《蜜蜂引路》教学反思
2016/02/22 职场文书
Python数据处理的三个实用技巧分享
2022/04/01 Python
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python