jquery 中多条件选择器,相对选择器,层次选择器的区别


Posted in Javascript onJuly 03, 2012

一、Jquery常用的过滤选择器如下所示:

1、:first,选取第一个元素,比如$("div:first")选取第一个div元素

2、:last,选取最后一个元素,比如$("div:last")选取最后一个div元素

3、:not(选择器),选取不满足“选择器”条件的元素,比如$("div:not(.className)"),选取样式不是className的所有div元素

4、:even/:odd,选取索引为偶数/奇数的元素,比如$("div:even"),选取索引号为偶数的所有div元素

5、:eq(索引序号)/:gt(索引序号)/:lt(索引序号),选取等于索引号/大于索引号/小于索引号的元素,比如$("div:lt(3)"),选取索引号小于3的所有div元素

注意:

过滤选择器的混合使用时要记住后面的过滤条件是以前面的过滤选择器过滤后的重新序号为基础,即过滤的逐级性,比如

$("#t1 tr:gt(0):lt(3)").css("fontSize", "28"); //lt(3)是从gt(0)出的新序列中的序号,不要写成lt(4)

二,重点

多条件选择器
多条件选择器:$("p,div,span,menuitem"),同时选择p标签,div标签,和拥有menuitem样式的span标签元素
注意选择器表达式中的空格不能多不能少,易错!

相对选择器

只要在$()指定第二个参数,第二个参数为相对的元素。比如html代码如下

<table id="table1"> 
<tr><td>dsds</td><td>dsfdef</td></tr> 
<tr><td>dsds</td><td>dsfdef</td></tr> 
<tr><td>dsds</td><td>dsfdef</td></tr> 
<tr><td>dsds</td><td>dsfdef</td></tr> 
<tr><td>dsds</td><td>dsfdef</td></tr> 
</table>

那么可以用如下的js代码操作td的背景色
$("td", $(this)).css("background", "red"),这句代码用的就是相对选择器,选择出的td是以当前的tr为相对的元素。选择的td元素是当前的tr元素下的所有td元素,没有涉及到其他行的td元素
<script type="text/javascript"> 
$(function () { 
$("#table1 tr").click(function () { 
$("td", $(this)).css("background", "red"); 
}); 
}); 
</script>

层次选择器:
1 $("#div li")获取div下的所有li元素(后代,子,子的子....)
2 $("#div > li")获取div下的直接li子元素//注意空格
3 $(".menuitem + div")获取样式名为menuitem之后的第一个div元素,不常用。
3 $(".menuitem ~ div")获取样式名为menuitem之后的所有的div元素,不常用。

细节区别在于(易错点):
多条件选择器:$("p,div,span,menuitem"),相对选择器:$("td", $(this)).css("background", "red")",层次选择器:$("#div li")获取div下的所有li元素(后代,子,子的子....)

三者的区别是:

多条件选择器:在一个“”内有逗号区分,

相对选择器:2个元素分开 ,

层次选择器在一个“”内以空格区分

Javascript 相关文章推荐
JS动态改变表格边框宽度的方法
Mar 31 Javascript
原生JS下拉加载插件分享
Dec 26 Javascript
jquery+ajax实现省市区三级联动效果简单示例
Jan 04 Javascript
JavaScript自定义文本框光标
Mar 05 Javascript
javascript实现的图片预览功能
Mar 25 Javascript
js 获取今天以及过去日期
Apr 11 Javascript
Angularjs 事件指令详细整理
Jul 27 Javascript
Vue.js进行查询操作的实例详解
Aug 25 Javascript
在Vuex使用dispatch和commit来调用mutations的区别详解
Sep 18 Javascript
vue中typescript装饰器的使用方法超实用教程
Jun 17 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
Jul 27 Javascript
js实现简单图片拖拽效果
Feb 22 Javascript
jquery 实现表单验证功能代码(简洁)
Jul 03 #Javascript
JavaScript中的细节分析
Jun 30 #Javascript
JavaScript中的作用域链和闭包
Jun 30 #Javascript
JavaScript中的面向对象介绍
Jun 30 #Javascript
js中判断数字\字母\中文的正则表达式 (实例)
Jun 29 #Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
Jun 28 #Javascript
Fixie.js 自动填充内容的插件
Jun 28 #Javascript
You might like
水质对咖图啡风味的影响具体有哪些
2021/03/03 冲泡冲煮
PHP使用者状态管理功能的应用
2006/10/09 PHP
一个可以找出源代码中所有中文的工具
2006/10/25 PHP
关于时间计算的结总
2006/12/06 PHP
PHP ajax 分页类代码
2008/11/13 PHP
PHP中的替代语法简介
2014/08/22 PHP
PHP实现更新中间关联表数据的两种方法
2014/09/01 PHP
php中try catch捕获异常实例详解
2014/11/21 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
2020/04/14 PHP
拖动布局之保存布局页面cookies篇
2010/10/29 Javascript
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
2010/12/03 Javascript
五段实用的js高级技巧
2011/12/20 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
JavaScript对象_动力节点Java学院整理
2017/06/23 Javascript
微信通过页面(H5)直接打开本地app的解决方法
2017/09/09 Javascript
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
jquery的$().each和$.each的区别
2019/01/18 jQuery
Weex开发之WEEX-EROS开发踩坑(小结)
2019/10/16 Javascript
vue+springboot+element+vue-resource实现文件上传教程
2020/10/21 Javascript
vue3.0 项目搭建和使用流程
2021/03/04 Vue.js
使用python调用浏览器并打开一个网址的例子
2014/06/05 Python
Python入门_浅谈for循环、while循环
2017/05/16 Python
Python 爬虫图片简单实现
2017/06/01 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
python类的方法属性与方法属性的动态绑定代码详解
2017/12/27 Python
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
英语系毕业生求职信
2014/07/13 职场文书
倡议书作文
2015/01/19 职场文书
python第三方网页解析器 lxml 扩展库与 xpath 的使用方法
2021/04/06 Python
Golang实现AES对称加密的过程详解
2021/05/20 Golang
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python
MyBatis自定义SQL拦截器示例详解
2021/10/24 Java/Android
vue修饰符.capture和.self的区别
2022/04/22 Vue.js
Python matplotlib安装以及实现简单曲线的绘制
2022/04/26 Python
Java中的Kotlin 内部类原理
2022/06/16 Java/Android