Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用纯DOM函数(没有jQuery)访问DOM元素的CSS样式?_Javascript_Html_Css_Dom - Fatal编程技术网

Javascript 如何使用纯DOM函数(没有jQuery)访问DOM元素的CSS样式?

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> 有什么想法吗?

由于某些原因,我无法访问HTML元素的
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
(这不是一种乐观的方式,而是一种方式)为什么要这样做?