jQuery選擇器之可見性篩選選擇器
元素有顯示狀態(tài)與隱藏狀態(tài),jQuery根據(jù)元素的狀態(tài)擴(kuò)展了可見性篩選選擇器:visible與:hidden
描述如下:

這2個(gè)選擇器都是 jQuery 延伸出來的,看起來比較簡(jiǎn)單,但是元素可見性依賴于適用的樣式
:hidden選擇器,不僅僅包含樣式是display="none"的元素,還包括隱藏表單、visibility等等
我們有幾種方式可以隱藏一個(gè)元素:
- CSS display的值是none。
- type="hidden"的表單元素。
- 寬度和高度都顯式設(shè)置為0。
- 一個(gè)祖先元素是隱藏的,該元素是不會(huì)在頁(yè)面上顯示
- CSS visibility的值是hidden
- CSS opacity的指是0
如果元素中占據(jù)文檔中一定的空間,元素被認(rèn)為是可見的。
可見元素的寬度或高度,是大于零。
元素的visibility: hidden 或 opacity: 0被認(rèn)為是可見的,因?yàn)樗麄內(nèi)匀徽加每臻g布局。
不在文檔中的元素是被認(rèn)為是不可見的,如果當(dāng)他們被插入到文檔中,jQuery沒有辦法知道他們是否是可見的,因?yàn)樵乜梢娦砸蕾囉谶m用的樣式
任務(wù)
在代碼編輯器中第46行填寫相應(yīng)代碼
$('#div1:visible')
在代碼編輯器中第51行填寫相應(yīng)代碼
$('#div2:visible')
在代碼編輯器中第56行填寫相應(yīng)代碼
$('#div3:visible')
在代碼編輯器中第61行填寫相應(yīng)代碼
$('#div1:hidden')
在代碼編輯器中第66行填寫相應(yīng)代碼
$('#div2:hidden')
在代碼編輯器中第71行填寫相應(yīng)代碼
$('#div3:hidden')
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title></title>
<link rel="stylesheet" href="imooc.css" type="text/css">
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>
<body>
<h2>可見性篩選選擇器</h2>
<h3>:visible/:hidden</h3>
<div class="left">
<div class="div">
<a>display</a>
<p id="div1" style="display:none;">display</p>
</div>
<div class="div">
<a>width</a>
<a>height</a>
<p id="div2" style="width:0;height:0">width/height</p>
</div>
<div class="div">
<a>visibility</a>
<a>opacity</a>
<p id="div3" style="visibility:hidden;opacity:0">visibility</p>
</div>
</div>
<p id="show"></p>
<script type="text/javascript">
function show (ele) {
if (ele instanceof jQuery) {
$("#show").html('元素的長(zhǎng)度的 = ' + ele.length)
} else {
alert(ele+' 不是jQuery對(duì)象')
}
}
</script>
<script type="text/javascript">
//查找id = div1的DOM元素,是否可見
show( ? );
</script>
<script type="text/javascript">
//查找id = div2的DOM元素,是否可見
show( ? );
</script>
<script type="text/javascript">
//查找id = div3的DOM元素,是否可見
show( ? );
</script>
<script type="text/javascript">
//查找id = div1的DOM元素,是否隱藏
show( ? );
</script>
<script type="text/javascript">
//查找id = div2的DOM元素,是否隱藏
show( ? );
</script>
<script type="text/javascript">
//查找id = div3的DOM元素,是否隱藏
show( ? );
</script>
</body>
</html>
.left {
width: auto;
height: 120px;
}
.left div {
width: 100px;
height: 70px;
padding: 5px;
margin: 5px;
float: left;
background: #bbffaa;
border: 1px solid #ccc;
}
.bottom {
width: 800px;
}
.bottom div,
.bottom span {
display: block;
width: 80px;
height: 80px;
margin: 5px;
background: #bbffaa;
float: left;
font-size: 14px;
}
.bottom .small {
width: 60px;
height: 25px;
font-size: 12px;
background: #fab;
}
請(qǐng)驗(yàn)證,完成請(qǐng)求
由于請(qǐng)求次數(shù)過多,請(qǐng)先驗(yàn)證,完成再次請(qǐng)求