2015-09-26 61 views
0

由于某些原因,我无法访问HTML元素的display样式的值。如何使用纯DOM功能(无jQuery)访问DOM元素的CSS样式?

这里是我的JavaScript代码:

var el = document.querySelector('#warning'); 
console.log(el.style.display) 

我的代码返回#warningdisplay风格""空字符串,但实际上它是"none"

我下面的HTML:

<div id="warning"> 
warning warning warning. 
</div> 

我有下面的CSS:

#warning { 
    display: none; 
} 

任何想法?

+0

'#warning'将是jQuery的。尝试使用'警告'没有#? – NewToJS

+0

这是不正确的信息。 #是用于ids而不管jquery – Jesse

+1

,你可以使用'clientWith'或'clientHeight'。如果他们是'0',它可能是'display:none'(这不是乐观的方式,但方式) –

回答

1

你在大部分时间都在做一切正确的事情,但是当你第一次尝试这些时,你遇到的是对大多数人来说是一个挂断。

在javascript中的样式对象正在寻找这个值是在实际元素(内联),并不直接在CSS代码中查找它。

要访问样式,样式必须存在于DOM中。你可以看看Window.getComputedStyle()

我希望这可以解释你为什么要到达这个障碍。