2015-09-26 89 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()

我希望這可以解釋你爲什麼要到達這個障礙。