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实例教程(19) 使用HoTMetal(2)
Dec 23 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)
Mar 24 Javascript
Jquery中dialog属性小记
Sep 03 Javascript
JS保留两位小数 四舍五入函数的小例子
Nov 20 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
Jun 20 Javascript
javascript使用数组的push方法完成快速排序
Sep 15 Javascript
JavaScript如何获取到导航条中HTTP信息
Oct 10 Javascript
Vue实现简单计算器案例
Feb 25 Javascript
jQuery实现动态加载瀑布流
Sep 01 jQuery
JS+CSS实现炫酷光感效果
Sep 05 Javascript
JavaScript实现移动小精灵的案例代码
Dec 12 Javascript
vue代码分块和懒加载非必要资源文件
Apr 11 Vue.js
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图片的裁剪与缩放生成符合需求的缩略图
2013/01/11 PHP
php实现utf-8转unicode函数分享
2015/01/06 PHP
游览器中javascript的执行过程(图文)
2012/05/20 Javascript
js 验证密码强弱的小例子
2013/03/21 Javascript
使用javascript实现Iframe自适应高度
2014/12/24 Javascript
JS模拟简易滚动条效果代码(附demo源码)
2016/04/05 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
VueJs与ReactJS和AngularJS的异同点
2016/12/12 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
vue学习笔记之指令v-text &amp;&amp; v-html &amp;&amp; v-bind详解
2017/05/12 Javascript
nodejs批量下载图片的实现方法
2017/05/19 NodeJs
vue观察模式浅析
2018/09/25 Javascript
说说Vue.js中的functional函数化组件的使用
2019/02/12 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
vue element-ui读取pdf文件的方法
2019/11/26 Javascript
Python中int()函数的用法浅析
2017/10/17 Python
python中requests使用代理proxies方法介绍
2017/10/25 Python
pandas全表查询定位某个值所在行列的方法
2018/04/12 Python
解决python删除文件的权限错误问题
2018/04/24 Python
python 遍历目录(包括子目录)下所有文件的实例
2018/07/11 Python
Python异常的检测和处理方法
2018/10/26 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
2019/09/07 Python
CSS3轻松实现圆角效果
2017/11/09 HTML / CSS
程序设计HTML5 Canvas API
2013/04/08 HTML / CSS
意大利宠物用品购物网站:Bauzaar
2018/09/15 全球购物
Oracle中delete,truncate和drop的区别
2016/05/05 面试题
报到证丢失证明
2014/01/11 职场文书
离婚协议书格式
2014/11/21 职场文书
升学宴答谢词
2015/01/05 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
搞笑婚前保证书
2015/02/28 职场文书
亮剑观后感600字
2015/06/05 职场文书
学校标语口号大全
2015/12/26 职场文书
Python打包为exe详细教程
2021/05/18 Python
Python实现byte转integer
2021/06/03 Python
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL