jQuery入门教程笔记5

这是《jQuery入门教程笔记》系列5,在第5篇里面将继续讲述jQuery的选择器,这篇讲述“内容过滤选择器”,“可见性过滤选择器”,“属性过滤选择器”。

下面是内容过滤选择器的语法表格:

选择器 功能 返回值
:contains(text) 获取包含给定文本的元素 元素集合
:empty 获取所有不包含子元素或文本的空元素 元素集合
:has(selector) 获取含有选择器所匹配的元素的元素 元素集合
:parent 获取含有子元素或者文本的元素。 元素集合
下面是示例代码,请自己调整注释符的位置来体会各种不同的选择器的效果。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title>chap2-5 使用jQuery内容过滤选择器</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="Geany 0.20" />
<script language="javascript" type="text/javascript" src="jquery-1.6.2.min.js"></script>
<style type="text/css">
body{
font-size:12px;
text-align:center;
}
div{
float:left;
display:none;
width:65px;
height:65px;
margin:8px;
border:solid 1px #ccc;
}
span{
float:left;
border:solid 1px #ccc;
margin:8px;
width:45px;
height:45px;
background-color:#eee;
}
</style>
<script type="text/javascript">
/*$(function(){ //显示包含给定文本的元素
$("div:contains('A')").css("display","block");
});
$(function(){ //显示所有不包含子元素或者文本的空元素
$("div:empty").css("display","block");
});
$(function(){ //显示含有选择器所匹配的元素
$("div:has(span)").css("display","block");
});*/
/**/$(function(){ //显示含有子元素或者文本的元素
$("div:parent").css("display","block");
});
</script>
</head>

<body>
<div>ABCD</div>
<div><span></span></div>
<div>EFaH</div>
<div></div>
</body>
</html>

下面是可见过滤选择器的语法表格:

选择器 功能 返回值
:hidden 获取所有不可见元素,或者type为hidden的元素 元素集合
:visible 获取所有的可见元素 元素集合

下面是示例代码,请自己调整注释符的位置来体会各种不同的选择器的效果。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title>chap2-6 使用jQuery可见性过滤选择器</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="Geany 0.20" />
<script language="javascript" type="text/javascript" src="jquery-1.6.2.min.js"></script>
<style type="text/css">
body{
font-size:12px;
text-align:center;
}
div,span{
float:left;
width:65px;
height:65px;
margin:8px;
border:solid 1px #ccc;
}
.GetFocus{
border:solid 1px #666;
background-color:#eee;
}
</style>
<script type="text/javascript">
$(function(){ //增加所有可见元素类别
$("span:hidden").show();
$("div:visible").addClass("GetFocus");
});
/*$(function(){ //增加所有不可见元素类别
$("span:hidden").show().addClass("GetFocus");
});*/
</script>
</head>

<body>
<span style="display:none;">Hidden</span>
<div>Visible</div>
</body>
</html>

下面是属性过滤选择器的语法表格:

选择器 功能 返回值
[attribute] 获取包含给定属性的元素 元素集合
[attribute=value] 获取等于给定的属性是某个特定值的元素 元素集合
[attribute!=value] 获取不等于给定的属性是某个特定值的元素 元素集合
[attribute^=value] 获取给定的属性是以某些值开始的元素 元素集合
[attribute$=value] 获取给定的属性是以某些值结尾的元素 元素集合
[attribute*=value] 获取给定的属性是以包含某些值的元素 元素集合
[selector1][selector2][selectorN] 获取满足多个条件的复合属性的元素 元素集合

下面是示例代码,请自己调整注释符的位置来体会各种不同的选择器的效果。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title>chap2-7 使用jQuery属性过滤选择器</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="Geany 0.20" />
<script language="javascript" type="text/javascript" src="jquery-1.6.2.min.js"></script>
<style type="text/css">
body{
font-size:12px;
text-align:center;
}
div{
float:left;
width:65px;
height:65px;
margin:8px;
display:none;
border:solid 1px #ccc;
}
</style>
<script type="text/javascript">
$(function(){ //显示所有含有id属性的元素
$("div[id]").show(3000);
});
$(function(){ //显示所有属性title的值是"A"的元素
$("div[title='A']").show(3000);
});
$(function(){ //显示所有属性title的值不是"A"的元素
$("div[title!='A']").show(3000);
});
$(function(){ //显示所有属性title的值以"A"开始的元素
$("div[title^='A']").show(3000);
});
$(function(){ //显示所有属性title的值以"C"结束的元素
$("div[title$='C']").show(3000);
});
$(function(){ //显示所有属性title的值中含有"B"的元素
$("div[title*='B']").show(3000);
});
$(function(){ //显示所有属性title的值中含有"B"且属性id的值是"divAB"的元素
$("div[id='divAB'][title*='B']").show(3000);
});
</script>
</head>

<body>
<div id="divID">ID</div>
<div title="A">Title A</div>
<div id="divAB" title="AB">ID <br />Title AB</div>
<div title="ABC">Title ABC</div>
</body>
</html>