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 相关文章推荐
js中定义一个变量并判断其是否为空的方法
May 13 Javascript
js实现下拉框选择要显示图片的方法
Feb 16 Javascript
Vue.js每天必学之组件与组件间的通信
Sep 08 Javascript
探索Vue.js component内容实现
Nov 03 Javascript
基于jquery实现的银行卡号每隔4位自动插入空格的实现代码
Nov 22 Javascript
轻松理解JavaScript之AJAX
Mar 15 Javascript
JavaScript闭包原理与用法实例分析
Aug 10 Javascript
webpack 从指定入口文件中提取公共文件的方法
Nov 13 Javascript
微信小程序之swiper滑动面板用法示例
Dec 04 Javascript
小程序开发踩坑:页面窗口定位(相对于浏览器定位)(推荐)
Apr 25 Javascript
jQuery模拟html下拉多选框的原生实现方法示例
May 30 jQuery
微信小程序 拍照或从相册选取图片上传代码实例
Aug 28 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语法速查表
2007/01/02 PHP
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
2011/08/02 PHP
php实现html标签闭合检测与修复方法
2015/07/09 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
2016/03/01 PHP
jQuery ajax cache缓存问题
2010/07/01 Javascript
Event altKey,ctrlKey,shiftKey属性解析
2013/12/18 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
jQuery窗口拖动功能的实现代码
2017/02/04 Javascript
webpack构建的详细流程探底
2018/01/08 Javascript
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
JavaScript实现简单动态进度条效果
2018/04/06 Javascript
记一次Vue.js混入mixin的使用(分权限管理页面)
2019/04/17 Javascript
vue实现菜单切换功能
2019/05/08 Javascript
js中的this的指向问题详解
2019/08/29 Javascript
Jquery让form表单异步提交代码实现
2019/11/14 jQuery
高性能js数组去重(12种方法,史上最全)
2019/12/21 Javascript
解决ant Design中Select设置initialValue时的大坑
2020/10/29 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
Python实现按学生年龄排序的实际问题详解
2017/08/29 Python
Python多重继承的方法解析执行顺序实例分析
2018/05/26 Python
python开发游戏的前期准备
2019/05/05 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
2019/09/07 Python
Python图片处理模块PIL操作方法(pillow)
2020/04/07 Python
Python离线安装各种库及pip的方法
2020/11/28 Python
Python datetime模块的使用示例
2021/02/02 Python
女大学生毕业找工作的自我评价
2013/10/03 职场文书
房产继承公证书
2014/04/09 职场文书
小学生作文评语大全
2014/04/21 职场文书
初中优秀班集体申报材料
2014/05/01 职场文书
学校交通安全责任书
2014/08/25 职场文书
奥巴马当选演讲稿
2014/09/10 职场文书
市级三好学生评语
2014/12/29 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
java.util.NoSuchElementException原因及两种解决方法
2022/06/28 Java/Android