过滤选择器之可见度过滤选择器
可见度过滤选择器是根据元素的可见和不可见状态来选择相应的元素
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>