第二章 jQuery选择器

王朝学院·作者佚名  2016-08-27  
宽屏版  字体: |||超大  

第二章 jQuery选择器一、jQuery选择器的优势写法简洁 $("div")支持CSS2和css3选择器(对于css3选择器支持这一项,我认为应该是jQuery首先创造并使用这些选择器而后css3将其引入自己的规范)完善的处理机制 $(".demo")获取的永远是对象,即时网页没有这个元素。 由于这种机制,使用jQuery检查某个元素在网页中是否存在时不能使用:

if($(".demo")){//do something}

而是应该根据获取到的长度来判断:

if($(".demo").length>0){//do something}

或者是转为DOM判断。

二、jQuery选择器基本选择器最常用的选择器,通过元素id、class和标签名等查找DOM元素。

选择器

描述

返回

示例

#id

通过id匹配

单个元素

$("#id")

.class

通过类名匹配

集合元素

$(".class")

element

通过元素名匹配

集合元素

$("element")

*

匹配所有元素

集合元素

$("*")

selector1,selector2,……,selectorN

群组选择器

集合元素

$("div,span,p")

层次选择器通过DOM元素之间的层次关系获取特定元素例如:后代元素、子元素、相邻元素和同辈元素等。

选择器

描述

返回

示例

$("ancestor descendant")

选ancestor元素里面所有的descendant

集合元素

$("div span")

$("parent>child")

选parent元素下的子元素

集合元素

$("div>span")

$("PRev+next")

选取紧接在prev后的next元素

集合元素

$("p+div")

$("prev~siblings")

选取prev元素之后的所有siblings元素

集合元素

$("div~div")

对于$("prev+next")选择器一般用next()方法代替,对于$("prev~siblings")一般用nextAll()方法代替。

过滤选择器通过特定的过滤规则筛选所需的DOM元素,选择器已:开头(与css伪类选择器相似)。按照过滤原则可分为:

基本过滤选择器 选择器

描述

返回

示例

:first

获取第一个元素

单个元素

$("div:first")

:last

获取最后一个元素

单个元素

$("div:last")

:not(selector)

去掉selector以外的元素

集合元素

$("div:not(.demo)")

:even

选取索引是偶数的元素,索引从0开始

集合元素

$("input:even")

:odd

选取索引是奇数的元素,索引从0开始

集合元素

$("input:odd")

:eq(index)

选取所有等于index的元素(index从0开始)

单个元素

$("div:eq(0)")

:gt(index)

选取所有大于index的元素(index从0开始)

集合元素

$("div:gt(0)")

:lt(index)

选取所有小于index的元素(index从0开始)

集合元素

$("div:lt(0)")

:header

选取所有标题元素例如:h1,h2等

集合元素

$(":header")

:animated

选取正在动画的元素

集合元素

$("div:animated")

:focus

选取获得焦点的元素

集合元素

$(":focus")

在使用:even、:odd、:eq()、:gt()、:lt()等选择器是一定要注意下标问题

2.内容过滤选择器 过滤规则主要是它包含的子元素和文本

选择器

描述

返回

示例

:contains(text)

包含文本为text的元素

集合元素

$("div:contains('text')")

:empty

选取没有文本或子元素的空元素

集合元素

$("div:empty“)

:has(selector)

选取含有se;ector的元素

集合元素

$("div:has(p)")

:parent

选取含有文本或子元素的元素

集合元素

$("div:parent")

3.可见性过滤选择器 根据元素的可见和不可见状态选择相应元素

选择器

描述

返回

示例

:hidden

选取不可见元素

集合元素

$(":hidden")

:visible

选取可见元素

集合元素

$(":visible")

对于:hidden选择器,不仅可以选择display:none的元素,也可以选择visibility:hidden和文本隐藏域等元素。

4.属性过滤选择器 根据元素属性获取相应元素

选择器

描述

返回

示例

[attribute]

选取有此属性的元素

集合元素

$("div[id]")

[attribute=value]

选取属性值为value的元素

集合元素

$("div[id=test]")

[attribute!=value]

选取属性值不为value的元素

集合元素

$("div[id!=test]")

[attribute^=value]

选取属性值以value开头的元素

集合元素

$("div[id^=test]")

[attribute$=value]

选取属性值以value结束的元素

集合元素

$("div[id$=test]")

[attribute*=value]

选取属性值含有value的元素

集合元素

$("div[id*=test]")

[attribute|=value]

选取属性值为等于value或者以value为前缀的元素

集合元素

$("div[id|=test]")

[attribute~=value]

选取属性值空格分隔的值中有value的元素

集合元素

$("div[id~=test]")

[attribute1][attribute2][attributeN]

选取有给定的多个属性的元素

集合元素

$("div[id=test][class]")

5. 子元素过滤选择器

选择器

描述

返回

示例

:nth-child()

选取每个父元素下的给定条件的元素(index从1开始)

集合元素

$("div:nth-child")

:first-child

选取每个父元素的第一个元素

集合元素

$("div:first-child")

:last:child

选取每个父元素的最后一个元素

集合元素

$("div:last-child")

:only:child

选取只有一个子元素的父元素

集合元素

$("div:only-child")

eq(index)只匹配一个元素,而nth-child将为每一个符合条件的父元素匹配子元素。同时nth-child()的index从1开始,eq()从0开始。同理,:first和:first-child、:last和last:child也类似。

6.表单对象属性过滤选择器

选择器

描述

返回

示例

:enabled

选取可用元素

集合元素

$("#form1:enabled")

:disabled

选取不刻意元素

集合元素

$("#form1:disabled")

:checked

选取被选中元素(单选框、复选框)

集合元素

$("input:checked")

:selected

选取所有被选中的选项元素(下拉列表)

集合元素

$("input:selected")

表单选择器 选择器

描述

返回

示例

:input

选取所有input、textarea、select、button元素

集合元素

$("input")

:text

选取单行文本框

集合元素

$(":text")

:passWord

选取密码框

集合元素

$(":password")

:radio

选取单选按钮

集合元素

$(":radio")

:checkbox

选取复选框

集合元素

$(":checkbox")

:submit

选取提交按钮

集合元素

$(":submit")

:image

选取图片按钮

集合元素

$(":image")

:reset

选取复位按钮

集合元素

$(":reset")

:button

选取按钮

集合元素

$(":button")

:file

选取上传域

集合元素

$("file")

:hidden

选取不可见元素

集合元素

$(":hidden")

三、jQuery选择器注意事项选择器含有”.“,”#“,”(“或”]“等特殊字符时使用转义符转义。jQuery在1.3.1版本后放弃之前的属性前加@。选择器对空格敏感。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有