您的位置:首页 > Web前端 > JQuery

Jquery学习五-1---jQuery常用选择器

2012-02-03 15:29 232 查看
先给出如下的html代码,下面的举例都是对该段html代码的操作或者使用。

<div id="firstDiv">
<p id="firstPara" class="para">段落一</p>
<p id="secPara" class="para">段落二</p>
</div>
<div id="secDiv">
<p id="thiPara" class="para">段落三</p>
<p id="forPara" class="para">段落四</p>
</div>
<div id="thrDiv" class="123">
<p id="fivPara">段落五</p>
<div class="pp">
我是一个div
<p id="sixPara">段落六</p>
</div>
</div>


Jquery常用选择器

说明

#id

Id选择器,根据元素的id属性值来匹配特定的元素,和css中的id选择器是对应的。每一个元素的id属性值不同。包括其子元素的文本。

举例:

选择id为thrDiv的元素,并将其边框设置成颜色为红色,边框宽度为1个像素,边框类型为solid。

$("#thrDiv").css("border","solid red 1px");

.class

类选择器,根据元素的class属性值来匹配,匹配一个或者多个元素。包括子元素文本。

举例:

选择class属性值为para的所有元素,并将元素内容文本颜色设置成黄色。

$(".para").css("color","yellow");

Element

标签选择器,根据给定的元素的名称来匹配所有的元素。包括子元素文本。

举例

选择页面上所有的p标签元素,将内容的字体粗细都设置成800。

$("p").css("font-weight","800");

*

通配符,匹配所有元素,当然了可以匹配局部所有元素。

看例子吧:

匹配页面所有元素:让页面中所有的元素的内容的对齐方式都设置成居中对齐。

$("*").css("text-align","center");

匹配局部元素:获取id为secDiv的div,并将其内容字体大小设置成24px

$("#secDiv *").css("font-size","24px");

Parent > child

子选择器:匹配给定的父元素下所有的指定的子元素。

例子:将id为thrDiv的div中下的p元素的字体设置成红色

注意:这里是父元素下的直接子元素,也就是说子元素下的p元素不会被更改颜色。

$("#thrDiv>p").css("color","red");

Ancestor descendant

包含选择器:在指定的元素下匹配该元素下的所有后代元素,而不止是其直接子元素,这个就是包含选择器和子选择器的区别。

例子:将id为thrDiv的div下的所有的p标签的内容颜色更改为红色,包括该元素下子元素下的p标签。

$("#thrDiv p").css("color","red");

选择器1,选择器2,选择器3,……选择器n

选择器分组:就是说将各个选择器匹配的对象进行组合后,来进行统一的设置。

例子:将第一个段落,第四个段落,最后一个div中的内容颜色设置成蓝色。

$("#firstPara,#forPara,#thrDiv").css("color","blue");

Pre+next

相邻选择器:匹配pre元素后所有的next元素。注意,匹配成功的元素是在当前父元素下直接子元素,子元素的子元素不会被匹配,看例子。

$("#secPara+p").css("color","red");

此时不会有匹配项

$("#firstPara+p").css("color","red");

此时只有一个匹配项:id为secPara的p标签

$("#fivPara+p").css("color","red");

此时sixPara不会被匹配,没有一个匹配项。

Pre~siblings

同级,兄弟节点:匹配pre元素后的兄弟元素,包括该兄弟元素的所有后代元素。

例子:第二个div后的兄弟元素文本设置为红色

$("#secDiv~div").css("color","red");

【attribute】

属性选择器:匹配包含给定属性的元素

例子:

$("[id]").css("color","red");

这样元素为id的文本内容都会被设置成红色。

【attribute=value】

属性选择器:匹配给定属性等于某个值的元素。

例子:

$("[class=para]").css("color","red");

这样class属性值为para的元素的文本都会被设置成红色。

【attribute!=value】

属性选择器:匹配给定属性值不是某个值的元素

例子:

$("p[class!=para]").css("color","red");

这样,p标签中,class属性值不是para的都会被修饰。

【attribute^=value】

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

例子:

$("[class^=p]").css("color","red");

【attribute$=value】

匹配给定的属性是以某个值结束的元素

例子:

$("[class$=p]").css("color","red");

【attribute*=value】

匹配给定的属性值是包含给定值的元素。

例子:

$("[id*=a]").css("color","red");

【属性选择器1】【属性选择器2】…【属性选择器n】

复合属性选择器:多个属性选择器选择的对象的重叠部分,也即是满足所有属性选择器的元素。

$("[id][class=123]").css("color","red");

看来只有一个符合,第三个div。

注意:文中所有的提到的元素都是指元素自己和自己的所有后代元素,不能隔代匹配。

注意:使用上面所有的选择器返回的都是jquery对象,也就是一个javascript数据集合或者说是dom对象集合
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: