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 相关文章推荐
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
Jul 11 Javascript
jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明
Jun 27 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
Sep 03 Javascript
使用typeof方法判断undefined类型
Sep 09 Javascript
jquery自定义表格样式
Nov 23 Javascript
JavaScript实现输入框(密码框)出现提示语
Jan 12 Javascript
javascript 定时器工作原理分析
Dec 03 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
Aug 25 Javascript
js实现购物车功能
Jun 12 Javascript
Vue组件系列开发之模态框
Apr 18 Javascript
Vue使用mixin分发组件的可复用功能
Sep 01 Javascript
JS实现打砖块游戏
Feb 14 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
一个程序下载的管理程序(四)
2006/10/09 PHP
php str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
php 过滤器实现代码
2010/08/09 PHP
PHP获取表单textarea数据中的换行问题
2010/09/10 PHP
PHP汉字转换拼音的函数代码
2015/12/30 PHP
PHP自定义函数获取汉字首字母的方法
2016/12/01 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
angularjs基础教程
2014/12/25 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
javascript高级编程之函数表达式 递归和闭包函数
2015/11/29 Javascript
[49:35]LGD vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python实现网站文件的全备份和差异备份
2014/11/30 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
2017/10/11 Python
python迭代dict的key和value的方法
2018/07/06 Python
python hook监听事件详解
2018/10/25 Python
Django框架验证码用法实例分析
2019/05/10 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
2020/06/17 Python
Python的3种运行方式:命令行窗口、Python解释器、IDLE的实现
2020/10/10 Python
如何用Python编写一个电子考勤系统
2021/02/08 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
Jo Malone美国官网:祖玛珑香水
2017/03/27 全球购物
会计与审计专业大专生求职信
2013/10/03 职场文书
关于环保的建议书400字
2014/03/12 职场文书
企业理念标语
2014/06/09 职场文书
应用心理学专业求职信
2014/08/04 职场文书
安全演讲稿开场白
2014/08/25 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书
人事局接收函
2015/01/30 职场文书
公司员工培训管理制度
2015/08/04 职场文书
2019下半年英语教师的教学工作计划(3篇)
2019/09/25 职场文书
MySQL中你可能忽略的COLLATION实例详解
2021/05/12 MySQL
Golang实现AES对称加密的过程详解
2021/05/20 Golang
MongoDB数据库之添删改查
2022/04/26 MongoDB
Apache SkyWalking 监控 MySQL Server 实战解析
2022/09/23 Servers