用的最新版本3.1的jQuery ,div2 应该是隐藏的吧,为什么visible显示是长度是1 而hidden显示长度是0呢?
<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").append('元素的长度的 = ' + ele.length+'<br />')
} else {
alert(ele + ' 不是jQuery对象')
}
}
</script>
<script type="text/javascript">
//查找id = div1的DOM元素,是否可见
show($('#div1:visible'));
</script>
<script type="text/javascript">
//查找id = div2的DOM元素,是否可见
show( $('#div2:visible') );
</script>
<script type="text/javascript">
//查找id = div3的DOM元素,是否可见
show( $('#div3:visible') );
</script>
<script type="text/javascript">
//查找id = div1的DOM元素,是否隐藏
show( $('#div1:hidden'));
</script>
<script type="text/javascript">
//查找id = div2的DOM元素,是否隐藏
show($('#div2:hidden'));
</script>
<script type="text/javascript">
//查找id = div3的DOM元素,是否隐藏
show($('#div3:hidden'));
</script>
</body>
我这边显示的结果是 :
元素的长度的 = 0
元素的长度的 = 1
元素的长度的 = 1
元素的长度的 = 1
元素的长度的 = 0
元素的长度的 = 0
是哪里出现问题了吗?