一、jquery选择器风格:
jquery中的选择器完成继承了CSS的风格。利用JQ选择器,可以非常便捷和快速找出特定的DOM元素,然后为它们添加相应的行为。使用CSS选择器时需要考滤主流浏览器是否支持某些选择器,而jquery无需担心浏览器是否支持这一选择器。


二、jquery简洁写法
(这里是美元符)()函数在很多javascript类库中都被作为一个选择器函数来使用,在jquery中也不例外。其中,(这里是美元符)("#ID")用来代替document.getElementById()函数,既通过ID获取元素;$(“tagName”)用来代替document.getElementsByTagName()函数,即可以通过标签名获取HTML元素。

三、JQuery选择器目录
1. 基本选择器
2. 层次选择器
3. 基本过滤器选择器
4. 内容过滤选择器
5. 可见性过滤选择器
6. 属性过滤选择器
7. 子元素过滤选择器


备注:因符号有冲突已在()内用文字提示



1.基本选择器

选择器

描述

返回

示例

#id

根据给定的id匹配一个元素

单个元素

$(“#test”)选取id为test的元素

.class

根据给定的类名匹配元素

集合元素

$(“.test")选取所有class为test的元素

element

根据给定的元素名匹配元素

集合元素

$(“p”)选取所有p元素

*

匹配所有元素

集合元素

$(“*”)选取所有元素

Selectorl,selector2……,selectorN

将每一个选择器匹配到的元素集合并后一起返回

集合元素

$(“div,span,p,myClass”)选取所有div,span和拥有class为myClass的p标签的一组元素


基本选择器示例

功能

代码

改变id为box的元素的背景色

$(“#box”).css(“background”,”red”);

改变class为mini的所有元素的背景色

$(“.mini”).css(“background”,”blue”);

改变元素名是div的所有元素的背景色

$(“div”).css(“background”,”yellow”);

改变所有元素的背景色

$(“*”).css(“background”,”#bbffaa”);

改变所有的span元素和id为two的元素的背景色

$(“span,#two”).css(“background”,”#bbffaa”);


2. 层次选择器

选择器

描述

返回

示例

$(“ancestor descendant”)

选取ancestor元素里的所有descendant(后代元素)

集合元素

$(“div span”)选取div里的所有的span元素

$(“parent>child”)

选取parent元素下的child(子)元素,与(“ancestor descendant”)选择的是后代元素

集合元素

$(“div>span”)选取div元素下元素名是span的子元素

$(“prev+next”)

选取紧接在prev元素后的next元素

集合元素

$(“.one+div”)选取class为one的下一个div同辈元素

$(“prev~siblings”)

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

集合元素

$(“#two~div”)选取id为two的元素后面所有div同辈元素


层次选择器示例

功能

代码

改变内所有


的背景色

$(“body div”).css(“background”,”red”);

改变内子


元素的背景色

$(“body >div”).css(“background”,”red”);

改变class为one的下一个


同辈元素背景色

$(“.one + div”).css(“background”,”red”);

改变id为two的元素后面的所有


同辈的背景色

$(“#two~div”).css(“bakground”,”red”);

$(“.one+div”);

$(“.one”).next(“div”);

$(“#prev~div”);

$(“#prev”).nextAll(“div”);


3.基本过滤器选择器

选择器

描述

返回

示例

:first

选取第1个元素

单个元素

$(“div:first”)选取div元素中第1个div元素

:last

选取最后一个元素

单个元素

$(“div:last”)选取div中最后1个div元素

:not(selector)

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

集合元素

$(“input:not(.myClass)”)选取class不是myClass的input元素

:even

选取索引为偶数开始的元所有元素,索引从0开始

集合元素

$(“input:even”)选取索引是偶数的input元素

:odd

选取索引为奇数开始的所有元素,索引从0开始

集合元素

$(“input:odd”)选取索引是奇数的input元素

:eq(index)

选取索引等于index的元素(index从0开始)

单个元素

$(“input:eqq(1)”)选取索引等于1的input的元素

:gt(index)

选取索引大于index的元素

集合元素

$(“input:gt(1)”)选取索引大于1的input元素(注:大于1,不包括1)

:lt(index)

选取索小于index的元素

集合元素

$(“input:lt(5)”)选取索引小于5的input元素(注:小于5,不包括5)

:header

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

集合元素

$(:header)选取网页中所有的h1、h2、h3….

:animated

选取当前正在执行动画所有元素

集合元素

$(“div:animated”)选取正在执行动画的div元素

:focus

选取当前获取焦点的元素

集合元素

$(“:focus”)选取当前获取焦点的元素


基本过滤器选择器示例

功能

代码

改变第1个div元素的背景色

$(“div:first”).css(“background”,”red”);

改变最后1个div元素的背景色

$(“div:last”).css(“background”,”red”);

改变class不为one的div元素背景色

$(“div:not(.one)”).css(“background”,”red”);

改变索引值为偶数的div元素的背景色

$(“div:even”).css(“bakground”,”red”);

改变索引值为奇数的div元素的背景色

$(“div:odd”).css(“background”,”red”);

改变索引值等于3的div元素的背景色

$(“div:eq(3) .css(“background”,”red”);

改变索引值大于3的div元素的背景色

$(“div:gt(3).css(“background”,“red”);

改变索引值小于3的div元素的背景色

$(“div:lt(3)”).css(“background”,”red”);

改变所有标题元素,例如:h1、h2、h3….

$(“:header”).css(“background”,”red”);

改变当前正在执行的动画的元素的背景色

$(“:animated”).css(“background”,”red”);

改变当前获取焦点的元素背景色

$(“:focus”).css(“background”,”red”);


4. 内容过滤选择器

选择器

描述

返回

示例

:contains(text)

选取文本为”text”的元素

集合元素

$(“div:contains(‘我’)选取含有文本“我”的


元素

:empty

选取不包含子元素或者文本的空元素

集合元素

$(“div:empty”)选取不包含子元素(包括文本元素)的div元素

:has(selector)

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

集合元素

$(“div:has§”)选取含有p元素的


元素

:parent

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

集合元素

$(“div:parent”)选取拥有子元素(包括文本元素)的div元素


内容过滤选择器示例

功能

代码

改变含有文本di的div元素背景色

$(“div:contains(di)”).css(“background”,”red”);

改变不包含子元素(包括文本元素)的div空元素的背景色

$(“div:empty”).css(“background”,”red”);

改变class为mini元素的div元素的背景色

$(“div:has(.mini)”).css(“background”,”red”);

改变含有子元素(包括文本元素)的div元素的背景色

$(“div:prent”).css(“background”,”red”);


5. 可见性过滤选择器

选择器

描述

返回

示例

:hidden

选取所有不可见的元素

集合元素

(“input:hidden”)

:visible

选取所有可见元素

集合元素

$(“div:visible”)选取所有可见的div元素


可见性过滤器示例

功能

代码

改变所有可见的


元素的背景色

$(“div:visible”).css(“background”,”red”);

显示隐藏的


元素

$(“div:hidden”).show(3000);


6. 属性过滤选择器

选择器

描述

返回

示例

[attribute]

选取拥有此属性的元素

集合元素

$(“div[id]”)选取拥有属性id的元素

[attribute=value]

选取属性的值为value的元素

集合元素

$(“div[title=test]”)选取属性title为”test”的


元素

[attribute!=value]

选取属性的值不等于value

集合元素

$(“div[title!=test]”)选取属性title不等于”test”的div元素(注意:没有属性title的div元素也会被选取)

[attribute^=value]

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

集合元素

$(“div[title^=test]”)选取属性title以“test”开始的元素

[attribute$=alue]

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

集合元素

=test]”)选取title为“test”结束的div的元素

[attribute*=value]

选取属性的值包含有value的元素

集合元素

$(“div[title*=test”])选取属性title含有“test”的div元素

[attribute> (这里有条竖线)=value]

选取属性等于给定字符串或以该字符串为前缀(该字符串后跟一个连字符“-”)的元素

集合元素 $(‘div[tiele

=”en”]’)选取属性title等于en或以en为前缀(该字符串后跟一个连字符“-”)的元素

[attribute~=value]

选取属性用空格分隔的值中包含一个给定值的元素

集合元素

$(’div[title~=”uk”]’)选取属性title用空格分隔的值中包含字符uk的元素

[attribute 1][attribute2]

用属性选择器合并成一个复合属性选择器,满足多个条件。每选择一次,缩小一次范围

集合元素

=’test’]”)选取拥有属性id,并且属性title以”test”结束的div元素


属性过滤选择器示例

功能

代码

改变含有属性title的div元素的背景色

$(“div[title]”).css(“background”,”red”);

改变属性title值等于”test”的div元素的背景色

$(“div[title=test]”).css(“background”,”red”);

改变属性title值不等于”test”的div元素的背景色

$(“div[title!=test]”).css(“background”,”red”);

改变属性title值以”te”开始的div元素的背景色

$(“div[title^=te]”).css(“background”,”red”);

改变属性title值以”est”结束的div元素的背景色

=est]”).css(“background”,”red”);

改变属性title值含有”es”的div元素的背景色

$(“div[title*=es]”).css(“background”,”red”);

改变含有属性id,并且属性title值含有”es”的div元素的背景色

$(“div[id][title*=es]”).css(“background”,”red”);

改变属性title值以”en”开始的div元素背景色

$(“div[title^=”en”]”).css(“background”,”red”);

改变属性title等于en或en为前缀(该字条串后跟一个连字符’-‘)的元素的背景色

$(“div[title (这里有条竖线)=”en”]”).css(“background”,”red”);

改变属性title用空格分隔的值中包含字符uk的元素的背景色

$(“div[title~=”UK”]”).css(“background”,”red”);


7. 子元素过滤选择器

选择器

描述

返回

示例

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

选取每个父元素下的第index个子元素或奇偶元素。(index从1算起)

集合元素

:eq(index)只匹配一个元素,面:nth-child将为每个父元素,并且:nth-child(index)的index是从1开始的,成eq(index)是从0算起。

:first-child

选取每个父元素的第1个子元素

集合元素

:first只返回单个元素,而:first-child选择符将为每个父元素匹配第1个子元素例如:$(“ul li:first-child”),选取每个ul中第1个li元素

:last-child

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

集合元素

同样,:last只返回单个元素,面:last-child选择符将为每个父元素匹配最后1个子元素例如:$(“ul li:last-child”),选取每个ul中最后1个li元素

:only-child

如果某个元素是它父元素中惟一的子元素,那么将会匹配。如果父元素中包含其他元素,则不会被匹配。

集合元素

$(:ul li:only-child”)在ul中选取是惟一子元素的li元素


子元素过滤选择器示例

功能

代码

改变每个class为one的div父元素下的第2个子元素的背景色

$(“div.one:nth-child(2)”).css(“background”,”red”);

改变每个class为one的div父元素下的第1个子元素的背景色

$(“div.one:first-child”).css(“background”,”red”);

改变每个class为one的div父子元素下的最后一个子元素的背景色

$(“div.one:last-child”).css(“background”,”red”);

如果class为one的div父子元素下只有一个元素,那么则改变这个子元素的背景色

$(“div.one:only-child”).css(“background”,”red”);