首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用javascript查找特定div是否不可见(visible = false)

使用javascript查找特定div是否不可见(visible = false)
EN

Stack Overflow用户
提问于 2013-05-17 19:22:56
回答 5查看 1.3K关注 0票数 0

使用下面的代码,我发现一个div是不可见的。

代码语言:javascript
运行
复制
if(document.getelementbyid("header").style.visible){
  alert("Yes");
}
else{
  alert("No");
}

检查visible属性,因为在代码中,header.visible = false是根据条件定义的。但它总是返回"No“。请告诉我正确的方法。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-05-17 19:26:41

没有可见的属性,但有可见性,它可以有以下值:

代码语言:javascript
运行
复制
visible
hidden
collapse

请参阅MDN article

票数 2
EN

Stack Overflow用户

发布于 2013-05-17 19:27:38

可以使用display和visibility来检查元素是否可见

代码语言:javascript
运行
复制
    var elem = document.getelementbyid("header");
    if(elem .style.visibility == "hidden" || elem.style.display == 'none'){
        alert("No");  // element is visible
    }
    else{
         alert("Yes");
    }
票数 2
EN

Stack Overflow用户

发布于 2013-05-17 19:26:09

请记住,javascript中没有style.visible。根据如何隐藏div,您需要检查

代码语言:javascript
运行
复制
if(document.getelementbyid("header").style.visibility != "hidden") {
   //visible
} else {
   //not visible
}

代码语言:javascript
运行
复制
if(document.getelementbyid("header").style.display != "none") {
   //visible
} else {
   //not visible
}

同时,上面的代码将只检查确切的元素是否显示无或隐藏可见性。但同时,当父元素不可见时,它将返回visible。因此,您可以执行下一步操作:

代码语言:javascript
运行
复制
var element = document.getelementbyid("header");
if(element.offsetWidth > 0 || element.offsetHeight > 0) {
   //visible
} else {
   //not visible
}

如果元素不可见,浏览器始终返回0元素的宽度和高度

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

https://stackoverflow.com/questions/16607763

复制
相关文章

相似问题

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