Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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 Can';t使用DOM获取背景色_Javascript_Html_Css_Dom - Fatal编程技术网

Javascript Can';t使用DOM获取背景色

Javascript Can';t使用DOM获取背景色,javascript,html,css,dom,Javascript,Html,Css,Dom,我正在尝试获取元素背景样式,该样式已写入不同的CSS文件中。 问题是我无法获得CSS文件中编写的样式 另一方面,可以获得在HTML文档上编写的样式 CSS代码 HTML代码 htmlfile css文件 ב.מ 结束 正文 window.onload=aaa(); 函数aaa() { var x=document.getElementById(“try2”); 警报(x.style.background); } 正如你所看到的,我收到的信息是空的。如果我将ID更改为“try1”,它将显示。

我正在尝试获取元素背景样式,该样式已写入不同的CSS文件中。 问题是我无法获得CSS文件中编写的样式

另一方面,可以获得在HTML文档上编写的样式

CSS代码 HTML代码

htmlfile

css文件

ב.מ 结束 正文 window.onload=aaa(); 函数aaa() { var x=document.getElementById(“try2”); 警报(x.style.background); }

正如你所看到的,我收到的信息是空的。如果我将ID更改为“
try1
”,它将显示。

将您的警报更改为
警报(x.style.backgroundColor)

style.background
style.backgroundColor
是两个不同的东西。

请使用此选项:

alert(x.style.backgroundColor);
该属性允许您读取和写入每个元素的
style
HTML属性(称为其内联样式)的值——它不考虑样式表

要发现CSS属性的真正价值,您必须改用它,例如:

alert(getComputedStyle(x, null).getPropertyValue("background-color"));


请注意,IE 8或更早版本不支持
getComputedStyle

您尚未为背景指定值。因此,请使用类似这样的方法:

alert(x.style.background="red");
试试这个

   function aaa()
        {
           var a = document.getElementById("try2").style.backgroundcolor;
           alert("Your background color is :"+a);
        }

应该写入
window.onload=aaa
#try2
没有
style
属性。您缺少了“e”。此外,它是2013年,因此您至少可以使用
console.log
,因为它比警报更方便用户。或者更好的是,可以添加一个
div
,只需更改
innerHTML
。。。。但是
alert(x.style.background="red");
   function aaa()
        {
           var a = document.getElementById("try2").style.backgroundcolor;
           alert("Your background color is :"+a);
        }