jQuery选择器之过滤选择器之可见度过滤选择器

本文详细介绍了jQuery中的可见度选择器,包括`:hidden`和`:visible`的选择器使用方法,并通过实例展示了如何利用这些选择器来操作页面元素,如改变可见元素的背景色、显示隐藏元素及打印文本隐藏域的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

过滤选择器可见度过滤选择器

可见度过滤选择器是根据元素的可见和不可见状态来选择相应的元素


1、:hidden
用法: $(”tr:hidden”)  返回值  集合元素
说明: 匹配所有的不可见元素,input 元素的 type 属性为 “hidden” 的话也会被匹配到.意思是css中display:none和input type=”hidden”的都会被匹配到.同样,要在脑海中彻底分清楚冒号”:”, 点号”.”和逗号”,”的区别.


2、:visible
用法: $(”tr:visible”)  返回值  集合元素
说明: 匹配所有的可见元素.



.show用于显示隐藏组件

练习:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>ddd</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
	<script language="JavaScript" src="../js/jquery-1.10.2.js"></script>
	<style type="text/css">
		 	div,span{
			    width: 140px;
			    height: 140px;
			    margin: 20px;
			    background: #9999CC;
			    border: #000 1px solid;
				float:left;
			    font-size: 17px;
			    font-family:Roman;
			}
			
			div.mini{
			    width: 30px;
			    height: 30px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
			
			div.visible{
				display:none;
			}
	 </style>
	 <!--引入jquery的js库-->
    
	</head>
	 
	<body>
		
		 <input type="button" value=" 改变所有可见的div元素的背景色为 #0000FF"  id="b1"/>
		 <input type="button" value=" 选取所有不可见的元素, 利用 jQuery 中的 show() 方法将它们显示出来, 并设置其背景色为 #0000FF"  id="b2"/>
		 <input type="button" value=" 选取所有的文本隐藏域, 并打印它们的值"  id="b3"/>
		 <input type="button" value=" 选取所有的文本隐藏域, 并打印它们的值"  id="b4"/>
		 
		 <!--文本隐藏域-->
         <input type="hidden" value="hidden_1">
		 <input type="hidden" value="hidden_2">
		 <input type="hidden" value="hidden_3">
		 <input type="hidden" value="hidden_4">
		 
		 <h1>天气冷了</h1>
		 <h2>天气又冷了</h2>
		 
	     <div id="one">
	    	 id为one   div
		     
		 </div>
		
		 <div id="two" class="mini" >
	    	   id为two   class是 mini  div
		       <div  class="mini" >class是 mini</div>
		</div>
		
		 <div class="visible" >
		 	    class是 one    这是隐藏的
		       <div  class="mini" >class是 mini</div>
			   <div  class="mini" >class是 mini</div>
		 </div>
		 
		 <div class="one" >
		 	  class是 one 
		       <div  class="mini01" >class是 mini01</div>
			   <div  class="mini" >class是 mini</div>
		</div>
		
		
		<div class="visible" >
		 	  这是隐藏的
		</div>
		
		<div class="one">
			
			
		</div>
		<br>
		<div id="mover" >
		 	  动画
		</div>
		<br>
		
		
	</body>
<script language="JavaScript">
//<input type="button" value=" 改变所有可见的div元素的背景色为 #0000FF"  id="b1"/>
	

//<input type="button" value=" 选取所有不可见的元素, 
    //利用 jQuery 中的 show() 方法将它们显示出来, 并设置其背景色为 #0000FF"  id="b2"/>
	
	
//<input type="button" value=" 选取所有的文本隐藏域, 并打印它们的值"  id="b3"/>  用两种遍历方式完成
	

//<input type="button" value=" 选取所有的文本隐藏域, 并打印它们的值"  id="b4"/>
	
</script>
</html>


答案:
<script language="JavaScript">
//<input type="button" value=" 改变所有可见的div元素的背景色为 #0000FF"  id="b1"/>
	$("input:eq(0)").click(function(){
		$("div:visible").css("background"," #0000FF");
	});

//<input type="button" value=" 选取所有不可见的元素, 
    //利用 jQuery 中的 show() 方法将它们显示出来, 并设置其背景色为 #0000FF"  id="b2"/>
	$("input:eq(1)").click(function(){
		$(":hidden").show().css("background","#0000FF");//.show()用于显示隐藏组件
	});
	
//<input type="button" value=" 选取所有的文本隐藏域, 并打印它们的值"  id="b3"/>
//遍历方式一:
	$("input:eq(2)").click(function(){
		var $hiddens = $("input:hidden");//获取所有文本隐藏域<input type="hidden">
		/*	被遍历的对象或数组.each(function(index,domEle){
		 * 
		 * 					});
		 * 	回调函数:
		 * 	function(index,domEle)这两个参数可省略,但是省略后domEle对象就用不来了,只能用this
		 * 	* index	元素的索引,从0开始
		 * 	* domEle 当前遍历对象   相当于this  this和domEle都是DOM对象,如果要转换成jQuery对象,需要用$()包装
		 */
		$hiddens.each(function(index,domEle){
			alert(this.value);//DOM对象
			alert($(this).val());//jQuery对象
			alert(domEle.value);//DOM对象
			alert($(domEle).val());//jQuery对象
		});
	});

//<input type="button" value=" 选取所有的文本隐藏域, 并打印它们的值"  id="b4"/>
//遍历方式二:
	$("input:eq(3)").click(function(){
		var $hiddens = $("input:hidden");
		/*
		 * 	$.each(obj,function(index,domEle){
		 * 
		 * 						});
		 * 	第一个参数表示:被遍历的对象或数组
		 * 	第二个参数表示:回调函数
		 * 	function(index,domEle)这两个参数可省略,但是省略后domEle对象就用不来了,只能用this
		 * 	* index	元素的索引,从0开始
		 * 	* domEle 当前遍历对象   相当于this  this和domEle都是DOM对象,如果要转换成jQuery对象,需要用$()包装
		 * 
		 */
		$.each($hiddens,function(index,domEle){
			alert(this.value);//DOM对象
			alert($(this).val());//jQuery对象
			alert(domEle.value);//DOM对象
			alert($(domEle).val());//jQuery对象
		});
	});
</script>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值