Dan*_*ett 81
元素有一个style
属性,可以告诉你你想要什么,如果样式是内联或使用JavaScript声明的:
console.log(document.getElementById('someIDThatExists').style.display);
Run Code Online (Sandbox Code Playgroud)
会给你一个字符串值.
正如下面sdleihssirhc所说,如果元素display
是继承的或由CSS规则指定的,那么你需要得到它的计算样式:
return getComputedStyle(element, null).display;
Run Code Online (Sandbox Code Playgroud)
sdl*_*rhc 71
如果样式是内联或使用JavaScript声明的,那么您只需获取style
对象:
return element.style.display === 'block';
Run Code Online (Sandbox Code Playgroud)
否则,您将必须获得计算的样式,并且存在浏览器不一致.IE使用一个简单的currentStyle
对象,但其他人都使用一个方法:
return element.currentStyle ? element.currentStyle.display :
getComputedStyle(element, null).display;
Run Code Online (Sandbox Code Playgroud)
这null
是Firefox 3及以下版本所必需的.
Kai*_*ing 28
对于jQuery,你的意思是这样吗?
$('#object').css('display');
Run Code Online (Sandbox Code Playgroud)
你可以这样检查:
if($('#object').css('display') === 'block')
{
//do something
}
else
{
//something else
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*čka 12
这个答案并不完全符合您的要求,但在某些情况下可能会有用.如果您知道元素在显示时有一些尺寸,您也可以使用:
var hasDisplayNone = (element.offsetHeight === 0 && element.offsetWidth === 0);
Run Code Online (Sandbox Code Playgroud)
编辑:为什么这可能比直接检查CSS display
属性更好?因为您不需要检查所有父元素.如果有一些父元素display: none
,它的子元素也被隐藏但仍然存在element.style.display !== 'none'
.
是.
var displayValue = document.getElementById('yourid').style.display;
Run Code Online (Sandbox Code Playgroud)
小智 5
基本 JavaScript:
if (document.getElementById("elementId").style.display == 'block') {
alert('this Element is block');
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
147944 次 |
最近记录: |