Javascript 如何使用纯DOM函数(没有jQuery)访问DOM元素的CSS样式?
由于某些原因,我无法访问HTML元素的Javascript 如何使用纯DOM函数(没有jQuery)访问DOM元素的CSS样式?,javascript,html,css,dom,Javascript,Html,Css,Dom,由于某些原因,我无法访问HTML元素的displaystyle的值 以下是我的JavaScript代码: var el = document.querySelector('#warning'); console.log(el.style.display) 我的代码为#warning的显示样式返回”空字符串,但实际上它是“none” 我有以下HTML: <div id="warning"> warning warning warning. </div> 有什么想法吗?
display
style的值
以下是我的JavaScript代码:
var el = document.querySelector('#warning');
console.log(el.style.display)
我的代码为#warning
的显示样式返回”
空字符串,但实际上它是“none”
我有以下HTML:
<div id="warning">
warning warning warning.
</div>
有什么想法吗?你做的大部分事情都是对的,但是当大多数人第一次尝试这个方法时,你遇到的是一个障碍
javascript中的style对象正在查找实际元素(内联)中的该值,而不是直接在css代码中查找该值
要访问样式,样式必须存在于dom中。你可以调查一下
我希望这可以解释为什么您会遇到这个障碍。如果您知道元素是一个ID,我建议您使用getElementById()代码>函数。另外AFAIK样式方法仅获取内联样式。我建议使用getComputedStyle()代码>
代码
var myDiv = document.getElementById("myDiv");
alert(getComputedStyle(myDiv).display);
将输出“无”
示例
var myDiv = document.getElementById("myDiv");
alert(getComputedStyle(myDiv).display);
阅读材料
#警告
将用于jQuery。尝试在没有#的情况下使用警告
?这是不正确的信息用于ID,而不考虑jqueryy您可以使用clientWith
或clientHeight
。如果它们是0
,则可能是display:none
(这不是一种乐观的方式,而是一种方式)为什么要这样做?