使用下面的代码,我发现一个div是不可见的。
if(document.getelementbyid("header").style.visible){
alert("Yes");
}
else{
alert("No");
}
检查visible属性,因为在代码中,header.visible = false
是根据条件定义的。但它总是返回"No“。请告诉我正确的方法。
发布于 2013-05-17 19:26:41
发布于 2013-05-17 19:27:38
可以使用display和visibility来检查元素是否可见
var elem = document.getelementbyid("header");
if(elem .style.visibility == "hidden" || elem.style.display == 'none'){
alert("No"); // element is visible
}
else{
alert("Yes");
}
发布于 2013-05-17 19:26:09
请记住,javascript中没有style.visible
。根据如何隐藏div,您需要检查
if(document.getelementbyid("header").style.visibility != "hidden") {
//visible
} else {
//not visible
}
或
if(document.getelementbyid("header").style.display != "none") {
//visible
} else {
//not visible
}
同时,上面的代码将只检查确切的元素是否显示无或隐藏可见性。但同时,当父元素不可见时,它将返回visible。因此,您可以执行下一步操作:
var element = document.getelementbyid("header");
if(element.offsetWidth > 0 || element.offsetHeight > 0) {
//visible
} else {
//not visible
}
如果元素不可见,浏览器始终返回0元素的宽度和高度
https://stackoverflow.com/questions/16607763
复制相似问题