jQuery--内容过滤和可见性过滤

Posted jxxblogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery--内容过滤和可见性过滤相关的知识,希望对你有一定的参考价值。

一.内容过滤

1.内容过滤选择器介绍

技术分享图片

  • :empty           当前元素是否为空(是否有标签体)
  • :contains(text)          标签体是否含有指定的文本
  • :has(...)                         当前元素是否含有指定的子元素
  • :parent                               当前元素是否是父元素

2.代码实例

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5  <title>04-内容过滤选择器.html</title>
 6  <!--   引入jQuery --> 
 7  <script src="../js/jquery-1.8.3.js" type="text/javascript"></script>
 8  <script src="./script/assist.js" type="text/javascript"></script>
 9  <link rel="stylesheet" type="text/css" href="./css/style.css" />  
10   <script type="text/javascript">
11       $(function(){
12 //          <input type="button" value="选取含有文本“di”的div元素." id="btn1"/>
13           $("#btn1").on("click",function(){
14               $("div:contains(‘di‘)").css("background-color","red");
15           });
16 //          <input type="button" value="选取不包含子元素(或者文本元素)的div空元素." id="btn2"/>
17           $("#btn2").on("click",function(){
18               $("div:empty").css("background-color","red");
19           });
20 //          <input type="button" value="选取含有class为mini元素 的div元素." id="btn3"/>
21           $("#btn3").on("click",function(){
22               $("div:has(‘.mini‘)").css("background-color","red");
23           });
24 //          <input type="button" value="选取含有子元素(或者文本元素)的div元素." id="btn4"/>
25           $("#btn4").on("click",function(){
26               $("div:parent").css("background-color","red");
27           });
28       });
29   </script>
30 </head>
31 <body>
32   <h3>内容过滤选择器.</h3>
33   <button id="reset">手动重置页面元素</button>
34   <input type="checkbox" id="isreset" checked="checked"/><label for="isreset">点击下列按钮时先自动重置页面</label><br /><br />
35 
36   <input type="button" value="选取含有文本“di”的div元素." id="btn1"/>
37   <input type="button" value="选取不包含子元素(或者文本元素)的div空元素." id="btn2"/>
38   <input type="button" value="选取含有class为mini元素 的div元素." id="btn3"/>
39   <input type="button" value="选取含有子元素(或者文本元素)的div元素." id="btn4"/>
40 
41 
42 <br /><br />
43 
44    <!-- 测试的元素 -->
45   <div class="one" id="one" >
46  id为one,class为one的div
47       <div class="mini">class为mini</div>
48   </div>
49 
50     <div class="one"  id="two" title="test" >
51      id为two,class为one,title为test的div.
52       <div class="mini"  title="other">class为mini,title为other</div>
53       <div class="mini"  title="test">class为mini,title为test</div>
54   </div>
55 
56   <div class="one">
57       <div class="mini">class为mini</div>
58       <div class="mini">class为mini</div>
59       <div class="mini">class为mini</div>
60       <div class="mini"></div>
61   </div>
62 
63   
64 
65   <div class="one">
66       <div class="mini">class为mini</div>
67       <div class="mini">class为mini</div>
68       <div class="mini">class为mini</div>
69       <div class="mini"  title="tesst">class为mini,title为tesst</div>
70   </div>
71 
72 
73   <div style="display:none;"  class="none">style的display为"none"的div</div>
74   
75   <div class="hide">class为"hide"的div</div>
76  
77   <div>
78   包含input的type为"hidden"的div<input type="hidden" size="8"/>
79   </div>
80 
81   
82   <span id="mover">正在执行动画的span元素.</span>
83 
84 </body>
85 </html>

 

二、可见性过滤

1.可见性过滤器介绍

 技术分享图片

  • :hidden 隐藏的 特指<xxx style="display:none;"/>,获得<input type="hidden"/>
  • :visible    可见的

2.代码实例

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5  <title>05-可见性过滤选择器.html</title>
 6  <!--   引入jQuery --> 
 7  <script src="../js/jquery-1.8.3.js" type="text/javascript"></script>
 8  <script src="./script/assist.js" type="text/javascript"></script>
 9  <link rel="stylesheet" type="text/css" href="./css/style.css" />   
10   <script type="text/javascript">
11       $(function(){
12 //          <input type="button" value=" 选取所有可见的div元素"  id="b1"/>
13           $("#b1").click(function () {
14               alert("123");
15               $("div:visible").css("background","red");
16           });
17 //              <input type="button" value=" 选取所有不可见的元素, 利用 jQuery 中的 show() 方法将它们显示出来"  id="b2"/>
18           $("#b2").click(function () {
19               $(":hidden").css("background","red");
20           });
21 //              <input type="button" value=" 选取所有的文本隐藏域, 并打印它们的值"  id="b3"/>
22           $("#b3").click(function () {
23               $("input:hidden").each(function(index){
24                   alert($(this).val());
25               });
26           });
27 //              <input type="button" value=" 选取所有的文本隐藏域, 并打印它们的值"  id="b4"/>
28           $("#b4").click(function () {
29               $.each($("input:hidden"),function(index,domEle){
30                   alert(index + "@" + $(domEle).val());
31               });
32           });
33       });
34   </script>
35 </head>
36 <body>
37   <h3>可见性过滤选择器.</h3>
38   <button id="reset">手动重置页面元素</button>
39   <input type="checkbox" id="isreset" checked="checked"/><label for="isreset">点击下列按钮时先自动重置页面</label>
40   <br/><br/>
41   <input type="button" value=" 选取所有可见的div元素"  id="b1"/>
42   <input type="button" value=" 选取所有不可见的元素, 利用 jQuery 中的 show() 方法将它们显示出来"  id="b2"/>
43   <input type="button" value=" 选取所有的文本隐藏域, 并打印它们的值"  id="b3"/>
44   <input type="button" value=" 选取所有的文本隐藏域, 并打印它们的值"  id="b4"/>
45   <br /><br />
46   
47   <!--文本隐藏域-->
48  <input type="hidden" value="hidden_1">
49  <input type="hidden" value="hidden_2">
50  <input type="hidden" value="hidden_3">
51  <input type="hidden" value="hidden_4">
52   
53   <div class="one" id="one" >
54  id为one,class为one的div
55       <div class="mini">class为mini</div>
56   </div>
57 
58     <div class="one"  id="two" title="test" >
59      id为two,class为one,title为test的div.
60       <div class="mini"  title="other">class为mini,title为other</div>
61       <div class="mini"  title="test">class为mini,title为test</div>
62   </div>
63 
64   <div class="one">
65       <div class="mini">class为mini</div>
66       <div class="mini">class为mini</div>
67       <div class="mini">class为mini</div>
68       <div class="mini"  title="tesst">class为mini,title为tesst</div>
69   </div>
70 
71 
72   <div style="display:none;"  class="none">style的display为"none"的div</div>
73   
74   <div class="hide">class为"hide"的div</div>
75   
76   <span id="mover">正在执行动画的span元素.</span>
77 </body>
78 </html>

 

以上是关于jQuery--内容过滤和可见性过滤的主要内容,如果未能解决你的问题,请参考以下文章

jQuery可见性过滤器:hidden和:visibility用法实例

JQuery选择器学习整理(基本选择器,层级选择器,伪类选择器,属性过滤,内容过滤,可见性过滤,范围选择器,排除选择器)

jquery选择器

Jquery4 过滤选择器

jQuery之过滤选择器

Jquery选择器的分类