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 相关文章推荐
关于jquery.validate1.9.0前台验证的使用介绍
Apr 26 Javascript
js调用css属性写法
Sep 21 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
Sep 17 Javascript
javascript生成随机数方法汇总
Nov 12 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
Nov 19 Javascript
jQuery使用中可能被XSS攻击的一些危险环节提醒
May 24 Javascript
bootstrap datetimepicker日期插件使用方法
Jan 13 Javascript
微信小程序多列选择器range-key使用详解
Mar 30 Javascript
vue-router 起步步骤详解
Mar 26 Javascript
jQuery实现每日秒杀商品倒计时功能
Sep 06 jQuery
简单了解JavaScript弹窗实现代码
May 07 Javascript
vue 使用lodash实现对象数组深拷贝操作
Sep 10 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
PHP如何将log信息写入服务器中的log文件
2015/07/29 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
2016/09/22 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
2017/07/03 PHP
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
js href的用法
2010/05/13 Javascript
utf-8编码引起js输出中文乱码的解决办法
2010/06/23 Javascript
javascript表单验证 - Parsley.js使用和配置
2013/01/25 Javascript
js验证是否为数字的总结
2013/04/14 Javascript
JS实现可改变列宽的table实例
2013/07/02 Javascript
jquery ui dialog实现弹窗特效的思路及代码
2013/08/03 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
2014/09/04 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
jQuery UI Grid 模态框中的表格实例代码
2017/04/01 jQuery
jQuery EasyUI 选项卡面板tabs的使用实例讲解
2017/12/25 jQuery
详解关于html,css,js三者的加载顺序问题
2019/04/10 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
JS 逻辑判断不要只知道用 if-else 和 switch条件判断(小技巧)
2020/05/27 Javascript
js获取图片的base64编码并压缩
2020/12/05 Javascript
Python深度优先算法生成迷宫
2018/01/22 Python
Python中%是什么意思?python中百分号如何使用?
2018/03/20 Python
python3模块smtplib实现发送邮件功能
2018/05/22 Python
Python自定义函数计算给定日期是该年第几天的方法示例
2019/05/30 Python
django 信号调度机制详解
2019/07/19 Python
django rest framework vue 实现用户登录详解
2019/07/29 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
8款使用 CSS3 实现超炫的 Loading(加载)的动画效果
2015/03/17 HTML / CSS
都柏林通行卡/城市通票:The Dublin Pass
2020/02/16 全球购物
编程用JAVA解析XML的方式
2013/07/07 面试题
高中自我鉴定
2013/12/20 职场文书
《宿建德江》教学反思
2014/04/23 职场文书
2014年财政所工作总结
2014/11/22 职场文书
学困生转化工作总结
2015/08/13 职场文书
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server
Win11显卡控制面板打开显卡设置方法
2022/04/20 数码科技
MongoDB数据库之添删改查
2022/04/26 MongoDB