如何使用javascript检查可见性属性

如何使用javascript检查可见性属性,javascript,css,properties,Javascript,Css,Properties,我测试了以下div的可见性: div 使用单独定义的样式 #第1部分{ 可见性:可见;//或隐藏 } 如果样式被内联定义为div,那么在元素.style.visibility属性中很容易检查可见性。但问题是当单独定义样式时(如上所示-#div1、.div1或div) 那么,在哪里可以只使用纯javascript检查可见性属性呢?jQuery每次都返回正确的样式(我不知道如何跟踪),那么他们是如何做到的呢?下面是我的一个失败尝试,除了jQuery的工作外,没有其他测试: alert($(el.

我测试了以下div的可见性:

div
使用单独定义的样式

#第1部分{
可见性:可见;//或隐藏
}
如果样式被内联定义为
div
,那么在
元素.style.visibility
属性中很容易检查可见性。但问题是当单独定义样式时(如上所示-#div1、.div1或div)

那么,在哪里可以只使用纯javascript检查可见性属性呢?jQuery每次都返回正确的样式(我不知道如何跟踪),那么他们是如何做到的呢?下面是我的一个失败尝试,除了jQuery的工作外,没有其他测试:

alert($(el.css('visibility'));//jQuery运行良好-返回正确的属性
警报(el.style.visibility);//不起作用-始终为空字符串
警报(el.offsetWidth>0 | | el.offsetHeight>0?“是”:“否”);//也不起作用-始终正确-http://stackoverflow.com/questions/1343237/how-to-check-elements-visibility-via-javascript
警报(el.getComputedStyle);//未定义-http://stackoverflow.com/questions/4795473/check-visibility-of-an-object-with-javascript
警报(el.getAttribute(“可见性”);//不起作用-当然是空的
关于如何成功有什么想法吗?在最新的Firefox 15中测试。

是一种全局方法。按如下方式使用:

window.getComputedStyle(el, null).getPropertyValue('visibility');

您使用的
getComputedStyle
错误:

getComputedStyle( el ).visibility
//"visible"
演示:

在internet explorer中,您将使用:

el.currentStyle.visibility;

我有一个Android项目,它的
webview
显示HTML+Javascript,这给了我一个错误:
“uncaughttypeerror:cannotcallmethod'getPropertyValue'of null”
。我猜它不明白什么是
窗口
getComputedStyle(el).getPropertyValue('visibility');