首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确使用.is(':visible')

正确使用.is(':visible')
EN

Stack Overflow用户
提问于 2015-06-29 06:10:26
回答 4查看 53关注 0票数 2

我有这个密码

代码语言:javascript
复制
<div style="height:500px;display:none"></div>
<div style="height:1000px;"></div>

<script>

$(document).ready(function() {

     var visible_elem_height = $('div').is(':visible').height()

     alert( visible_elem_height )

});

</script>

但是我的代码不起作用,所以你有什么建议?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-06-29 06:13:38

.is()返回一个布尔值,这样您的脚本就会失败,而您需要

代码语言:javascript
复制
$(document).ready(function () {

    var visible_elem_height = $('div:visible').height();
    //or var visible_elem_height = $('div').filter(':visible').height()

    alert(visible_elem_height)

})
票数 3
EN

Stack Overflow用户

发布于 2015-06-29 06:19:10

$('div').is(':visible')根据元素的可见性返回true/false。另一方面,.height()函数应用于元素,而不是应用于boolean输出。因此,$('div').is(':visible').height()根本无法工作。

若要实现所需的行为,请使用:visible选择器$('div:visible').height()

代码语言:javascript
复制
$(document).ready(function() {

     var visible_elem_height = $('div:visible').height()

     alert( visible_elem_height )

});

普鲁克尔

票数 1
EN

Stack Overflow用户

发布于 2015-06-29 06:27:27

试着利用.filter()

代码语言:javascript
复制
$(document).ready(function() {
  var div = $("div").filter(function(i, el) {
    return $(el).is(":visible")
  });
  
  if (div.length > 0) {
    alert(div.height())
  };
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div style="height:500px;display:none"></div>
<div style="height:1000px;"></div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31108864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档