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 相关文章推荐
TFDN图片播放器 不错自动播放
Oct 03 Javascript
JavaScript入门学习书籍推荐
Jun 12 Javascript
js change,propertychange,input事件小议
Dec 20 Javascript
JS 实现获取打开一个界面中输入的值
Mar 19 Javascript
Javascript中匿名函数的多种调用方式总结
Dec 06 Javascript
JavaScript实现信用卡校验方法
Apr 07 Javascript
js的flv视频播放器插件使用方法
Jun 23 Javascript
window.onload使用指南
Sep 13 Javascript
ie下js不执行的几种可能
Feb 28 Javascript
Vue之Watcher源码解析(1)
Jul 19 Javascript
jQuery each和js forEach用法比较
Feb 27 jQuery
vue实现input输入模糊查询的三种方式
Aug 14 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 分页函数multi() discuz
2009/06/21 PHP
php正则表达匹配中文问题分析小结
2012/03/25 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
做网页的一些技巧
2007/02/01 Javascript
csdn 博客的css样式 v3
2009/02/24 Javascript
IE8对JS通过属性和数组遍历解析不一样的地方探讨
2013/05/06 Javascript
简单的代码实现jquery定时器
2014/01/03 Javascript
一个获取第n个元素节点的js函数
2014/09/02 Javascript
JS解析XML实例分析
2015/01/30 Javascript
jquery中attr和prop的区别分析
2015/03/16 Javascript
javascript实现捕捉键盘上按下的键
2015/05/05 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
Highcharts学习之数据列
2016/08/03 Javascript
浅谈js的异步执行
2016/10/18 Javascript
JavaScript递归操作实例浅析
2016/10/31 Javascript
JS刷新父窗口的几种方式小结(推荐)
2016/11/09 Javascript
javascript闭包功能与用法实例分析
2017/04/06 Javascript
AngularJS动态菜单操作指令
2017/04/25 Javascript
vue2.0 可折叠列表 v-for循环展示的实例
2018/09/07 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
2020/01/21 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
python中使用smtplib和email模块发送邮件实例
2014/04/22 Python
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
python的socket编程入门
2018/01/29 Python
python pexpect ssh 远程登录服务器的方法
2019/02/14 Python
详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)
2019/08/06 Python
Python第三方包之DingDingBot钉钉机器人
2020/04/09 Python
Python操作Excel把数据分给sheet
2020/05/20 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
ET Mall东森购物网:东森严选
2017/03/06 全球购物
全世界最美丽的四星和五星级酒店预订:Prestigia.com
2017/11/15 全球购物
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
团队队名口号大全
2014/06/06 职场文书
临时租车协议范本
2014/09/23 职场文书
2014年学生会干事工作总结
2014/11/07 职场文书
2019七夕节祝福语36句,快来收藏吧
2019/08/06 职场文书