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 相关文章推荐
神奇的代码 通杀各种网站-可随意修改复制页面内容
Jul 17 Javascript
js 获取服务器控件值的代码
Mar 05 Javascript
window.location.hash 属性使用说明
Mar 20 Javascript
40款非常有用的 jQuery 插件推荐(系列一)
Dec 21 Javascript
了解一点js的Eval函数
Jul 26 Javascript
通过js获取div的background-image属性
Oct 15 Javascript
javascript实现了照片拖拽点击置顶的照片墙代码
Apr 03 Javascript
jQuery实现Email邮箱地址自动补全功能代码
Nov 03 Javascript
javascript实现加载xml文件的方法
Nov 24 Javascript
基于vue的下拉刷新指令和滚动刷新指令
Dec 23 Javascript
JS实现颜色的10进制转化成rgba格式的方法
Sep 04 Javascript
JavaScript实现通讯录功能
Dec 27 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
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
2010/12/29 PHP
php启用zlib压缩文件的配置方法
2013/06/12 PHP
php中print(),print_r(),echo()的区别详解
2014/12/01 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
php命令行写shell实例详解
2018/07/19 PHP
php上传后台无法收到数据解决方法
2019/10/28 PHP
firefo xml 读写实现js代码
2009/06/11 Javascript
用js判断页面是否加载完成实现代码
2012/12/11 Javascript
jquery创建一个ajax关键词数据搜索实现思路
2013/02/26 Javascript
我的Node.js学习之路(二)NPM模块管理
2014/07/06 Javascript
AngularJS基础 ng-include 指令示例讲解
2016/08/01 Javascript
使用bootstrap实现多窗口和拖动效果
2016/09/22 Javascript
vue.js学习笔记之绑定style样式和class列表
2016/10/31 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
vue 2.0封装model组件的方法
2017/08/03 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
2018/06/22 Javascript
原生JS实现轮播图效果
2018/10/12 Javascript
vue中tab选项卡的实现思路
2018/11/25 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
Python中解析JSON并同时进行自定义编码处理实例
2015/02/08 Python
python读取json文件并将数据插入到mongodb的方法
2015/03/23 Python
python中黄金分割法实现方法
2015/05/06 Python
Python切换pip安装源的方法详解
2016/11/18 Python
python 垃圾收集机制的实例详解
2017/08/20 Python
对Django url的几种使用方式详解
2019/08/06 Python
python实现画循环圆
2019/11/23 Python
常用python爬虫库介绍与简要说明
2020/01/25 Python
python 连续不等式语法糖实例
2020/04/15 Python
python在一个范围内取随机数的简单实例
2020/08/16 Python
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
One.com挪威:北欧成长最快的网络托管公司
2016/11/19 全球购物
类、抽象类、接口的差异
2016/06/13 面试题
外贸学院会计专业应届生求职信
2013/11/14 职场文书
2014年卫生院工作总结
2014/12/03 职场文书
《颐和园》教学反思
2016/02/19 职场文书