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 相关文章推荐
SOSO地图API使用(一)在地图上画圆实现思路与代码
Jan 15 Javascript
html文件中jquery与velocity变量中的$冲突的解决方法
Nov 01 Javascript
jquery.post用法之type设置问题
Feb 24 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
May 04 Javascript
JavaScript实现给按钮加上双重动作的方法
Aug 14 Javascript
深入学习AngularJS中数据的双向绑定机制
Mar 04 Javascript
jQuery设置Cookie及删除Cookie实例分析
Apr 15 Javascript
easyui-datagrid特殊字符不能显示的处理方法
Apr 12 Javascript
vue+springmvc导出excel数据的实现代码
Jun 27 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
Sep 03 jQuery
js与jquery获取input输入框中的值实例讲解
Feb 27 jQuery
微信小程序实现录音Record功能
May 09 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+iframe实现隐藏无刷新上传文件
2012/02/10 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
2015/12/17 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
2016/01/19 PHP
php中上传文件的的解决方案
2018/09/25 PHP
JavaScript 事件冒泡简介及应用
2010/01/11 Javascript
IE6不能修改NAME问题的解决方法
2010/09/03 Javascript
javascript中String类的subString()方法和slice()方法
2011/05/24 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
使用AmplifyJS组件配合JavaScript进行编程的指南
2015/07/28 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
JavaScript实现九九乘法表的简单实例
2016/06/07 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
2017/04/21 Javascript
vue.js获取数据库数据实例代码
2017/05/26 Javascript
ES6 javascript的异步操作实例详解
2017/10/30 Javascript
微信小程序实现卡片左右滑动效果的示例代码
2019/05/01 Javascript
深入学习Vue nextTick的用法及原理
2019/10/08 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
2019/10/23 jQuery
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
深入webpack打包原理及loader和plugin的实现
2020/05/06 Javascript
python服务器端收发请求的实现代码
2014/09/29 Python
python生成excel的实例代码
2017/11/08 Python
分享一个简单的python读写文件脚本
2017/11/25 Python
Python学习笔记之Break和Continue用法分析
2019/08/14 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
python读取excel数据绘制简单曲线图的完整步骤记录
2020/10/30 Python
简述Html5 IphoneX 适配方法
2018/02/08 HTML / CSS
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
财务管理个人自荐书范文
2013/11/24 职场文书
酒店拾金不昧表扬信
2014/01/18 职场文书
《童年的发现》教学反思
2014/02/14 职场文书
工地例会施工汇报材料
2014/08/22 职场文书
三问三解心得体会
2014/09/05 职场文书
医学专业大学生职业生涯规划书
2014/10/25 职场文书
2014法制宣传日活动总结范文
2014/11/01 职场文书
劳模事迹材料范文
2014/12/24 职场文书