为了账号安全,请及时绑定邮箱和手机立即绑定

用的最新版本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

是哪里出现问题了吗?

正在回答

3 回答

那么新的问题来了,这个究竟算是 显示的元素 还是 隐藏的元素呢?感觉更懵了。。。

有没有大神给个结论呢?

0 回复 有任何疑惑可以回复我~

找到原因了。 jQuery版本问题。 用课程中的1.9版本的结果是:

元素的长度的 = 0
元素的长度的 = 0
元素的长度的 = 1
元素的长度的 = 1
元素的长度的 = 1
元素的长度的 = 0

用最新的3.1版本的是:

元素的长度的 = 0
元素的长度的 = 1
元素的长度的 = 1
元素的长度的 = 1
元素的长度的 = 0
元素的长度的 = 0

2 回复 有任何疑惑可以回复我~

求大神指点,因为我看了别人发的问题和回答,结果中 第二个应该是0,第五个是1. 而我的正好相反

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

用的最新版本3.1的jQuery ,div2 应该是隐藏的吧,为什么visible显示是长度是1 而hidden显示长度是0呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信