:hidden Selector
Categories:
Selectors > Visibility Filter
hidden selector
version added: 1.0jQuery(':hidden')
描述: 选择所有隐藏的元素。
元素可以被认为是隐藏的几个原因:
- 他们的CSS
display
值是none
。 - 他们是
type="hidden"
的表单元素。 - 它们的宽度和高度都显式设置为0。
- 一个祖先元素是隐藏的,因此该元素是不会在页面上显示。
元素visibility: hidden
或opacity: 0
被认为是可见的,因为他们仍然占有布局空间。在动画,隐藏一个元素,该元素被认为是直到动画结束可见。
在jQuery 1.3.2中,如何判断:hidden
做了修改。如果他或者其任何父级元素占有布局空间,这个元素就被认为是隐藏的。CSS的能见度属性(visibility)不考虑(因此$(elem).css('visibility','hidden').is(':hidden') == false
)。更详细的大纲的变化:release notes。
Example:
Shows all hidden divs and counts hidden inputs.
<!DOCTYPE html>
<html>
<head>
<style>
div { width:70px; height:40px; background:#ee77ff; margin:5px; float:left; }
span { display:block; clear:left; color:red; }
.starthidden { display:none; }
</style>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<span></span>
<div></div>
<div style="display:none;">Hider!</div>
<div></div>
<div class="starthidden">Hider!</div>
<div></div>
<form>
<input type="hidden" />
<input type="hidden" />
<input type="hidden" />
</form>
<span>
</span>
<script>
// in some browsers :hidden includes head, title, script, etc... so limit to body
$("span:first").text("Found " + $(":hidden", document.body).length +
" hidden elements total.");
$("div:hidden").show(3000);
$("span:last").text("Found " + $("input:hidden").length + " hidden inputs.");
</script>
</body>
</html>