Javascript document.body.style.backgroundColor不';无法使用外部CSS样式表
谁能告诉我为什么Javascript document.body.style.backgroundColor不';无法使用外部CSS样式表,javascript,html,css,Javascript,Html,Css,谁能告诉我为什么document.body.style.backgroundColor不能与外部CSS样式表一起使用? 我的意思是:当我 body { background-color: red; } <body style="background-color: red;"></body> 在我的css样式表中,javascript alertalert(document.body.style.backgroundColor)显示空字符串。 工作示例 但
document.body.style.backgroundColor
不能与外部CSS样式表一起使用?
我的意思是:当我
body
{
background-color: red;
}
<body style="background-color: red;"></body>
在我的css样式表中,javascript alertalert(document.body.style.backgroundColor)代码>显示空字符串。
工作示例
但是当我有
body
{
background-color: red;
}
<body style="background-color: red;"></body>
它显示(正如它应该显示的那样)“红色”。
例如
如果能给我一个很好的解释,甚至能给我一个如何修复第一个示例的答案,我将不胜感激。您正在使用jquery buddy
试试这个,它会给出rgb值
alert($('body').css('background-color'));
如果你想要十六进制值,试试这个
.style
属性在DOM元素上返回该特定元素的值。根据.style
访问的定义,它是元素本身的样式。
style=
属性控制相同的值,因此您可以看到结果
但是,使用选择器应用的CSS并不是元素的直接属性。考虑CSS <代码> p{颜色:红色}。此CSS应用于多个元素,因此,在特定元素的级别上可重写没有任何意义
您要查找的是window.getComputedStyle
以获取元素当前样式的只读视图:window.getComputedStyle(document.body)。backgroundColor
确实返回了正确的值,如中所示。尝试此操作
var element = document.getElementsByTagName('body')[0];
var style = window.getComputedStyle(element),
var bgColor = style.getPropertyValue('background-color');
你厌倦google了吗?当你将JSFIDLE中的库更改为“无”时,你会得到你期望的结果“你正在使用jquery”-问题没有提到jquery,没有使用jquery
标记,javascript
标记表示,除非还包括框架或库的标记,一个纯JavaScript的答案是期待,但在他的js小提琴,她链接了jQueryTanks,这就是我要找的解释!