这是《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>
|