设置元素的style.backgroundColor在IE8中不起作用?

时间:2013-01-02 17:16:31

标签: javascript css internet-explorer-8

[重新编辑的问题]

一段简单的代码:

var newDiv = document.createElement("div");
newDiv.style["background-color"] = "#DDD";
newDiv.innerHTML = " (some content) ";
container.appendChild(newDiv);

(对象“容器”在前面定义)

在最新版本的Chrome中,新的div框显示为灰色背景,在IE8中背景是透明的。如果我改为:

newDiv.style.backgroundColor = "#DDD";

该框的背景在IE8中也是灰色的。为什么是这样?我还没有在IE9中测试过。

2 个答案:

答案 0 :(得分:1)

要使其在IE8和IE9中正常工作,请在文档的开头指定正确的doctype:

<!DOCTYPE html>
<html>
...

答案 1 :(得分:1)

我正在使用Internet Explorer 8,您的代码可以在我的浏览器中运行但有一点技巧 - 设置DIV的高度

var newDiv = document.createElement("div");
newDiv.style.backgroundColor = "#DDD";
container.appendChild(newDiv);

//this new addition showed it worked
newDiv.style.height = '50px';

或使用

newDiv.innerHTML = '&nbsp;';

可能是因为div没有内容,所以没有显示。