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 相关文章推荐
父页面显示遮罩层弹出半透明状态的dialog
Mar 04 Javascript
如何用jquery控制表格奇偶行及活动行颜色
Apr 20 Javascript
js调试系列 控制台命令行API使用方法
Jun 18 Javascript
JavaScript Split()方法
Dec 18 Javascript
javascript实现方法调用与方法触发小结
Mar 26 Javascript
Augularjs-起步详解
Jul 08 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
Dec 17 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
Feb 22 Javascript
使用JS中的Replace()方法遇到的问题小结
Oct 20 Javascript
Vue自定义弹窗指令的实现代码
Aug 13 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
Dec 10 Javascript
Vue 中 a标签上href无法跳转的解决方式
Nov 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中count获取多维数组长度的方法
2014/11/03 PHP
PHP SESSION的增加、删除、修改、查看操作
2015/03/20 PHP
js代码实现微博导航栏
2015/07/30 PHP
js绑定事件this指向发生改变的问题解决方法
2013/04/23 Javascript
利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
2014/01/02 Javascript
js获取url中&quot;?&quot;后面的字串方法
2014/05/15 Javascript
javascript通过元素id和name直接取得元素的方法
2015/04/28 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
Bootstrap源码解读网格系统(3)
2016/12/22 Javascript
jQuery窗口拖动功能的实现代码
2017/02/04 Javascript
jQuery内容筛选选择器实例代码
2017/02/06 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
angular将html代码输出为内容的实例
2018/09/30 Javascript
js中null与空字符串&quot;&quot;的区别讲解
2019/01/17 Javascript
vue2路由基本用法实例分析
2020/03/06 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
Python3 入门教程 简单但比较不错
2009/11/29 Python
Python实现类继承实例
2014/07/04 Python
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
分享一个可以生成各种进制格式IP的小工具实例代码
2017/07/28 Python
pandas重新生成索引的方法
2018/11/06 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
2014/05/08 HTML / CSS
html5给汉字加拼音加进度条的实现代码
2020/04/07 HTML / CSS
英国珠宝钟表和家居礼品精品店:David Shuttle
2018/02/24 全球购物
党员2014两会学习心得体会
2014/03/17 职场文书
美术指导求职信
2014/03/17 职场文书
班级年度安全计划书
2014/05/01 职场文书
原料仓仓管员岗位职责
2014/07/08 职场文书
群众路线党员个人剖析材料
2014/10/08 职场文书
2015年度优秀员工自荐书
2015/03/06 职场文书
2015秋季幼儿园开学寄语
2015/03/25 职场文书
2015年公路养护工作总结
2015/05/13 职场文书
民间借贷被告代理词
2015/05/23 职场文书
Redis调用Lua脚本及使用场景快速掌握
2022/03/16 Redis