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实现读取txt文档的脚本
Jul 20 Javascript
jquery ajax提交整个表单元素的快捷办法
Mar 27 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
Jul 04 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
Aug 20 Javascript
PageSwitch插件实现100种不同图片切换效果
Jul 28 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
Sep 04 Javascript
Extjs让combobox写起来简洁又漂亮
Jan 05 Javascript
react-native ListView下拉刷新上拉加载实现代码
Aug 03 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
Aug 26 Javascript
详解Nuxt.js中使用Element-UI填坑
Sep 06 Javascript
vue 实现走马灯效果
Oct 28 Javascript
Vue 实现简易多行滚动&quot;弹幕&quot;效果
Jan 02 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下MYSQL limit的优化
2008/01/10 PHP
PHP中fwrite与file_put_contents性能测试代码
2013/08/02 PHP
php中opendir函数用法实例
2014/11/15 PHP
php获取json数据所有的节点路径
2015/05/17 PHP
PHP defined()函数的使用图文详解
2019/07/20 PHP
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
2011/10/12 Javascript
javascript 实现 原路返回
2015/01/21 Javascript
jquery 判断selection range 是否在容器中的简单实例
2016/08/02 Javascript
详解angularjs结合pagination插件实现分页功能
2017/02/10 Javascript
jQuery倒计时代码(超简单)
2017/02/27 Javascript
微信小程序开发图片拖拽实例详解
2017/05/05 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
2017/07/12 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
vue中v-for加载本地静态图片方法
2018/03/03 Javascript
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
详解nodejs 配置文件处理方案
2019/01/02 NodeJs
微信小程序登录对接Django后端实现JWT方式验证登录详解
2019/07/29 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
2020/02/15 Javascript
Node.js API详解之 repl模块用法实例分析
2020/05/25 Javascript
JS实现电脑虚拟键盘的操作
2020/06/24 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
2020/07/14 Javascript
利用JS判断元素是否为数组的方法示例
2021/01/08 Javascript
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
Python 字符串类型列表转换成真正列表类型过程解析
2019/08/26 Python
python 利用jinja2模板生成html代码实例
2019/10/10 Python
Python字典常见操作实例小结【定义、添加、删除、遍历】
2019/10/25 Python
python实现人机猜拳小游戏
2020/02/03 Python
详解canvas多边形(蜘蛛图)的画法示例
2018/01/29 HTML / CSS
日本订房网站,预订日本星级酒店/温泉旅馆:Relux(支持中文)
2020/01/03 全球购物
一道Delphi面试题
2016/10/28 面试题
师范大学音乐表演专业求职信
2013/10/23 职场文书
感情真挚的毕业生求职信
2014/07/19 职场文书
辩护词格式
2015/05/22 职场文书
党员身份证明材料
2015/06/19 职场文书