<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
是哪里出现问题了吗?
那么新的问题来了,这个究竟算是 显示的元素 还是 隐藏的元素呢?感觉更懵了。。。
有没有大神给个结论呢?
找到原因了。 jQuery版本问题。 用课程中的1.9版本的结果是:
元素的长度的 = 0
元素的长度的 = 0
元素的长度的 = 1
元素的长度的 = 1
元素的长度的 = 1
元素的长度的 = 0
用最新的3.1版本的是:
元素的长度的 = 0
元素的长度的 = 1
元素的长度的 = 1
元素的长度的 = 1
元素的长度的 = 0
元素的长度的 = 0
求大神指点,因为我看了别人发的问题和回答,结果中 第二个应该是0,第五个是1. 而我的正好相反