如果在CSS上声明显示,为什么element.style.display为空

时间:2013-07-29 11:38:22

标签: javascript css

如果样式在CSS中声明,为什么这个JS返回空白,并且在声明内联时效果很好?

//html
<img id="myImg" src="http://jsfiddle.net/favicon.png" />
<img id="myImg2" src="http://jsfiddle.net/favicon.png" style="display:none;" />

/css
#myImg {
    display:none;
}

//vanilla JS
var el = document.getElementById('myImg');
var el2 = document.getElementById('myImg2');
console.log(el.style.display); // blank
console.log(el2.style.display); // 'none' - as expected

Fiddle here

2 个答案:

答案 0 :(得分:9)

style属性映射到HTML style 属性,而不是级联或计算的样式。

如果你想获得它,请使用getComputedStyle

答案 1 :(得分:0)

以上述方式分配属性时,基本上只是修改该元素的style属性。