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 alert
alert(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,这就是我要找的解释!