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

标签 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

最佳答案

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

使用getComputedStyle如果你想得到它。

关于javascript - 如果在 CSS 上声明显示,为什么 element.style.display 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17923022/

相关文章:

javascript - 在 Javascript 中操作内容后显示之前的 <div> 内容

javascript - 使用 JSON 将 PHP 多维数组转换为 Javascript?

javascript - 在 angular6 模板中使用 getter 方法或类变量?

php - 如何在表单布局中以 3/3 格式排列复选框

javascript - 模式在页面内容上重叠

javascript - 导入 SVG 作为 react 组件

javascript - 无法通过 JAVASCRIPT 更改新行的 html 元素的名称

javascript - 无法在 spring 元素中显示 Summernote textarea

html - 在 bootstrap 4 中使用 justify-content-center 打破标签

javascript - KnockoutJS - 在父标记中绑定(bind)子组件的点击事件