现在的位置: 首页 > 综合 > 正文

jquery_选择器

2017年12月27日 ⁄ 综合 ⁄ 共 6109字 ⁄ 字号 评论关闭

转-链接:http://www.cnblogs.com/zhangziqiu/archive/2009/05/03/jquery-learn-2.html
链接:http://blog.csdn.net/paulgerchen/article/details/5645274
连接:http://www.w3school.com.cn/jquery/jquery_ref_selectors.asp 
连接:http://api.jquery.com/
表单选择器:http://www.skygq.com/2011/01/16/jquery%E8%A1%A8%E5%8D%95%E9%80%89%E6%8B%A9%E5%99%A8/

  

1. 基础选择器 

名称

举例

说明

#id

$("#divId") 选择ID为divId的元素

根据元素Id选择

element

$("a") 选择所有<a>元素

根据元素的名称选择,

.class

$(".bgRed") 选择所用CSS类为bgRed的元素

根据元素的css类选择

*

$("*")选择页面所有元素

选择所有元素

选择器组合

$("#divId, a, .bgRed")

$( "span.count", $('#event-drag' ))

可以将几个选择器用","分隔开然后再拼成一个选择器字符串.会同时选中这几个选择器匹配的内容.

$(".intro.demo")

所有 class="intro" 且 class="demo" 的元素

$( "span.count")

所有 class="count" 的<span>元素

2.层次选择器

名称

说明

举例

祖先  子孙

选中所有子节点,包括直接子节点和间接子节点

$("div span")选择<div>中所有后代的<span>元素

parent > child

选中直接子节点

$("div > span"):选择<div>中直接子节点的<span>元素

prev + next

prevnext是两个同级别的元素.选中后面的兄弟节点

$("div + span"):选择<div>同级后面的兄弟节点的<span>元素(一个)

prev ~ siblings

 选择prev后面的根据siblings过滤的元素;:siblings是过滤器

$("div ~ span")选择<div>之后的同级的<span>元素(所有)

3.基本过滤器 

名称

说明

举例

:first

匹配找到的第一个元素(子元素里面的第一个)

$("span :first")  //找span子元素里面的第一个,而不是找第一个span

:last

匹配找到的最后一个元素(子元素里面的最后一个)

$("span :last")

:not(selector)

去除所有与给定选择器匹配的元素

查找所有未选中的 input
元素: $("input:not(:checked)")

:even

匹配所有索引值为偶数的元素,从 0开始计数

查找表格的135...:$("tr:even")

:odd

匹配所有索引值为奇数的元素,从 0开始计数

查找表格的246:$("tr:odd")

:eq(index)

匹配一个给定索引值的元素 
:index 0开始计数

查找第二行:$("tr:eq(1)")

:gt(index)

匹配所有大于给定索引值的元素 
:index 0开始计数

查找第二第三行,即索引值是12,也就是比0:$("tr:gt(0)")

:lt(index)

选择结果集中索引小于 N
elements 
:index 0开始计数

查找第一第二行,即索引值是01,也就是比2:$("tr:lt(2)")

:header

选择所有h1,h2,h3一类的header标签.

给页面内所有标题加上背景色: $(":header").css("background", "#EEE");

:animated

匹配所有正在执行动画效果的元素

只有对不在执行动画效果的元素执行一个动画特效:

$("#run").click(function(){ 
  $("div:not(:animated)").animate({ left: "+=20" }, 1000); 
});

4. 内容过滤器 

名称

说明

举例

:contains(text)

匹配包含给定文本的元素

查找所有包含 "John"
div 元素:$("div:contains('John')")

:empty

匹配所有不包含子元素或者文本的空元素

查找所有不包含子元素或者文本的空元素:$("td:empty")

:has(selector)

匹配含有选择器所匹配的元素的元素

给所有包含 p
元素的 div 元素添加一个 text: $("div:has(p)").addClass("test");

:parent

匹配含有子元素或者文本的元素

查找所有含有子元素或者文本的 td元素:$("td:parent")

5.可见性过滤器  

名称

说明

举例

:hidden

匹配所有的不可见元素

:1.3.2版本中, hidden匹配自身或者父类在文档中不占用空间的元素.如果使用CSS
visibility
属性让其不显示但是占位,则不输入hidden.

查找所有不可见的 tr
元素:$("tr:hidden")

:visible

匹配所有的可见元素

查找所有可见的 tr
元素:$("tr:visible")

6.属性过滤器 

名称

说明

举例

[attribute]

匹配包含给定属性的元素

查找所有含有 id
属性的 div 元素
$("div[id]")

[attribute=value]

匹配给定的属性是某个特定值的元素

$("div[id=div1]")

[attribute!=value]

匹配给定的属性是不包含某个特定值的元素

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

[attribute^=value]

匹配给定的属性是以某些值开始的元素

$("input[name^='news']")

[attribute$=value]

匹配给定的属性是以某些值结尾的元素

 $("input[name$='letter']")

[attribute*=value]

匹配给定的属性是以包含某些值的元素

查找所有 name
包含 'man' input元素
$("input[name*='man']")

[attributeFilter1][attributeFilter2][attributeFilterN]

复合属性选择器,需要同时满足多个条件时使用。

$("div[tag1][tag2]")

7.子元素过滤器

名称

说明

举例

:nth-child(index/even/odd/equation)

匹配其父元素下的第N个子或奇偶元素

':eq(index)' 只匹配一个元素,而这个将为每一个父元素匹配子元素。:nth-child1开始的,而:eq()是从0算起的!

可以使用
nth-child(even) 
:nth-child(odd) 
:nth-child(3n) 
:nth-child(2) 
:nth-child(3n+1) 
:nth-child(3n+2)

在每个 ul 查找第 2li: 
$("ul li:nth-child(2)")

:first-child

匹配第一个子元素

':first' 只匹配一个元素,而此选择符将为每个父元素匹配一个子元素

在每个 ul 中查找第一个 li: 
$("ul li:first-child")

:last-child

匹配最后一个子元素

':last'只匹配一个元素,而此选择符将为每个父元素匹配一个子元素

在每个 ul 中查找最后一个 li: 
$("ul li:last-child")

:only-child

如果某个元素是父元素中唯一的子元素,那将会被匹配

如果父元素中含有其他元素,那将不会被匹配。

ul 中查找是唯一子元素的 li: 
$("ul li:only-child")

8.表单选择器 

名称(只能输入表单元素,如果输入:div是会报错的)

说明

解释

$("#form1 :input").length

某表单内的表单元素的个数

 

:input

匹配所有 input, textarea, select button元素

查找所有的input元素
$(":input")

:text

匹配所有的文本框

查找所有文本框
$(":text")

:password

匹配所有密码框

查找所有密码框
$(":password")

:radio

匹配所有单选按钮

查找所有单选按钮

:checkbox

匹配所有复选框

查找所有复选框
$(":checkbox")

:submit

匹配所有提交按钮

查找所有提交按钮
$(":submit")

:image

匹配所有图像域

匹配所有图像域
$(":image")

:reset

匹配所有重置按钮

查找所有重置按钮
$(":reset")

:button

匹配所有按钮

查找所有按钮
$(":button")

:file

匹配所有文件域

查找所有文件域
$(":file")

9.表单过滤器 

名称

说明

解释

:enabled

匹配所有可用元素

查找所有可用的input元素
$("input:enabled")

:disabled

匹配所有不可用元素

查找所有不可用的input元素
$("input:disabled")

:checked

匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)

查找所有选中的复选框元素
$("input:checked")

:selected

匹配所有选中的option元素

查找所有选中的选项元素
$("select option:selected")

 

 test demo:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
</script>
</head>

<body>
<span id="span01">span01 before div 1</span>
<div id="div1">
	<span id="span11">span11 in div1<span id="spanChild">spanChild in and in div1</span></span>
	<span id="span12">span12 in div1</span>
</div>
<span id="span21">span21 after div1</span>
<hr>

<span id="span02">span02 before div 2</span>
<div id="div2">
	<span id="span13">span13 in div2</span>
	<span id="span14">span14 in div2</span>
</div>
<span id="span22">span22 after div2</span>

<div tag1="1" tag2="2">div3</div>
<div mytag="div4">div4</div>

<input type="text">form_text1</input>
<input type="text">form_text2</input>
<input type="text">form_text3</input>
<input type="button">form_btn1</input>
<button>form_btn2</button>

<!--
$("#div1 span"):
[
<span id=​"span11">​…​</span>​
, 
<span id=​"spanChild">​spanChild in and in div1​</span>​
, 
<span id=​"span12">​span12 in div1​</span>​
]

$("#div1 > span"):
[
<span id=​"span11">​…​</span>​
, 
<span id=​"span12">​span12 in div1​</span>​
]

$("#div1 + span"):
[
<span id=​"span21">​span21 after div1​</span>​
]

$("#div1 ~ span")
[
<span id=​"span21">​span21 after div1​</span>​
, 
<span id=​"span02">​span02 before div 2​</span>​
, 
<span id=​"span22">​span22 after div2​</span>​
]

$("#div2 ~ span")
[
<span id=​"span22">​span22 after div2​</span>​
]

-->

<!--
$("div :first")  //div子元素里面的第一个
[
<span id=​"span11">​…​</span>​
]

$("span :first")  //找span子元素里面的第一个,而不是找第一个span
[
<span id=​"spanChild">​spanChild in and in div1​</span>​
]
-->


<!--

$("div[id]")
[
<div id=​"div1">​…​</div>​
, 
<div id=​"div2">​…​</div>​
]

$("div[mytag]")
[
<div mytag=​"div4">​div4​</div>​
]

$("div[id=div1]")
[
<div id=​"div1">​…​</div>​
]

$("div[id!=div1]")
[
<div id=​"div2">​…​</div>​
, 
<div tag1=​"1" tag2=​"2">​div3​</div>​
, 
<div mytag=​"div4">​div4​</div>​
]

$("div[tag1][tag2]")
[
<div tag1=​"1" tag2=​"2">​div3​</div>​
]

-->

<!--
$(":div")
Error: Syntax error, unrecognized expression: unsupported pseudo: div

$(":span")
Error: Syntax error, unrecognized expression: unsupported pseudo: span

$(":input")
[
<input type=​"text">​
, 
<input type=​"text">​
, 
<input type=​"text">​
, 
<input type=​"button">​
, 
<button>​form_btn2​</button>​
]

$(":text")
[
<input type=​"text">​
, 
<input type=​"text">​
, 
<input type=​"text">​
]

$(":button")
[
<input type=​"button">​
, 
<button>​form_btn2​</button>​
]

-->
</body>

</html>

 

抱歉!评论已关闭.