jQuery 选择器理解


Posted in Javascript onMarch 16, 2010

$的选择器部分:
凡是运用$,其返回值是一个object
$选择器主要用于选择标签.基本用法是同css的选择器.但是,很让人兴奋的是,他支持常见的浏览器,而css中很多选择器是IE6所不支持的.
1.基本选择器(3种): ----凡是运用$,其返回值是一个object
$("标签名"),如$("p")是选取了所有的p标签节点
$("#id名"),如$("#test")是选取了id为test的标签节点
$(".class名"),如$(".test")是选取了所有class为test的标签节点
上面的$("标签名")和$(".class名")返回的都是所有满足的节点,至于进一步筛选可以添加一些函数,如eq,gt,lt等等.
2.组选择器: ----3种基本选择器的组合,“,”隔开
下面还是现做一个约定:把"标签名或#id名或.class名"记作mix,则mix表示一个标签名,或一个#id或一个.class.
$("mix,mix,mix,..."),如:$("div,#test1,p,.test2,#test3")

3.后代选择器: ----3种基本选择器的组合,“ ”隔开,直系皆生效
$("mix mix"),当然可以是多个嵌套,但后代选择器可以是深层子代,所以$("mix mix mix ...")这种写法作用不大.例子:$("div .test"):在div标签内的所有具有test的class的后代元素(就是被div嵌套的class属性为test的标签)

4.子选择器: ----3种基本选择器的组合,“>”隔开,只亲子有效
$("mix>mix"),这个放在后代选择器后面是为了和它做对比.子选择器只能选择第一代子代.不处理深层嵌套.例子:
$("div>.test")
<div><p class="test"></p></div>对这里的p段落标签有效.但对
<div><p><p class="test"></p></p></div>对这里的p段落标签无效,这里要用
$("div .test)
5.临近选择器: ----3种基本选择器的组合,“+”隔开,只下一个兄弟节点
$("mix+mix"),选取下一个兄弟节点.如:$("div +#test"),id为test的的节点必须是div的下一个兄弟节点.
<div></div><p id="test"></p>在$("div + #test")中能取到p段落节点
<div></div><p></p><p id="test"></p>则不能取到
6.属性选择器: ----“ |=|^|$|*”
把属性选择器不放在css选择器里面是因为jQuery中写法是不一样的.至于css中写法可以参考我之前写的一篇css的选择器一文.jQuery中是和xPath类似的写法:
$("mix[@attr]"):选取所有该mix且具有attr属性的节点
$("mix[@attr=a_value"]):选取所有该mix且具有attr属性并满足属性值为a_value的节点
$("mix[@attr^=a_value_head"]):attr属性的属性值是以a_value_head开头的
$("mix[@attr$=a_value_end"]):attr属性的属性值是以a_value_end结尾的
$("mix[@attr*=a_value"]):attr属性的属性值中包含a_value

7. 限定选择器:
这个名称是我自己起的,其实选择器组合都有限定的意思,你明白后面所介绍的知识即可.
具有限定子节点选择器:$("mix1[mix2]"):返回包含mix2的mix1节点.如:$("div[a]"):包含a标签的div.
这个和$("div a")不相同.后者表示div中的a标签,返回的是a标签对象,前者返回的是div标签对象
冒号限定结点选择器:$("mix:condition"):mix标签,并且满足限定条件.
E:root:类型为E,并且是文档的根元素
E:nth-child(n):是其父元素的第n个类型为E的子元素 ,基数从1开始
E:first-child:是其父元素的第1个类型为E的子元素
E:last-child:是其父元素的最后一个类型为E的子元素
E:only-child:且是其父元素的唯一一个类型为E的子元素

Javascript 相关文章推荐
权威JavaScript 中的内存泄露模式
Aug 13 Javascript
JavaScript replace(rgExp,fn)正则替换的用法
Mar 04 Javascript
node.js使用require()函数加载模块
Nov 26 Javascript
纯javascript实现自动发送邮件
Oct 21 Javascript
基于javascript实现九九乘法表
Mar 27 Javascript
jquery实现拖动效果(代码分享)
Jan 25 Javascript
Vue.js学习笔记之修饰符详解
Jul 25 Javascript
详解webpack-dev-server的简单使用
Apr 02 Javascript
一次Webpack配置文件的分离实战记录
Nov 30 Javascript
vue-dplayer 视频播放器实例代码
Nov 08 Javascript
javascript用defineProperty实现简单的双向绑定方法
Apr 03 Javascript
JavaScript 函数用法详解【函数定义、参数、绑定、作用域、闭包等】
May 12 Javascript
jQuery 学习入门篇附实例代码
Mar 16 #Javascript
Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
Mar 16 #Javascript
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
Mar 16 #Javascript
javascript 二维数组的实现与应用
Mar 16 #Javascript
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
Mar 15 #Javascript
jQuery MD5加密实现代码
Mar 15 #Javascript
[原创]js获取数组任意个不重复的随机数组元素
Mar 15 #Javascript
You might like
php下使用iconv需要注意的问题
2010/11/20 PHP
PHP实现的封装验证码类详解
2013/06/18 PHP
解析php中eclipse 用空格替换 tab键
2013/06/24 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
2016/03/22 PHP
PHP单态模式简单用法示例
2016/11/16 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
2018/09/03 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
2019/05/28 PHP
jQuery Study Notes学习笔记 (二)
2010/08/04 Javascript
40个新鲜出炉的jQuery 插件和免费教程[上]
2012/07/24 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
2014/02/11 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
javascript中的五种基本数据类型
2015/08/26 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
基于bootstrap实现广告轮播带图片和文字效果
2016/07/22 Javascript
JS防止网页被嵌入iframe框架的方法分析
2016/09/13 Javascript
可输入文字查找ajax下拉框控件 ComBox的实现方法
2016/10/25 Javascript
前端常见跨域解决方案(全)
2017/09/19 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
js技巧之十几行的代码实现vue.watch代码
2018/06/09 Javascript
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
Python书单 不将就
2017/07/11 Python
Python字典数据对象拆分的简单实现方法
2017/12/05 Python
微信跳一跳python代码实现
2018/01/05 Python
Python内建模块struct实例详解
2018/02/02 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
2019/06/27 Python
详解python中__name__的意义以及作用
2019/08/07 Python
python 如何去除字符串头尾的多余符号
2019/11/19 Python
用python爬取历史天气数据的方法示例
2019/12/30 Python
日本航空官方网站:JAL
2019/06/19 全球购物
北大自主招生自荐信
2015/03/04 职场文书
《红领巾真好》教学反思
2016/02/16 职场文书
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
2022/02/12 MySQL