Coding style 修改a的innerHTML<;风格>;IE8中的元素

Coding style 修改a的innerHTML<;风格>;IE8中的元素,coding-style,internet-explorer-8,innerhtml,Coding Style,Internet Explorer 8,Innerhtml,我正在创建一个样式元素,我需要在其中加入一些CSS。以下代码适用于Chrome、Safari和FF,但在IE8中失败: var styleElement = document.createElement("style"); styleElement.type = "text/css"; styleElement.innerHTML = "body{background:red}"; document.head.appendChild(styleElement); 在IE8中,当涉及inn

我正在创建一个样式元素,我需要在其中加入一些CSS。以下代码适用于Chrome、Safari和FF,但在IE8中失败:

var styleElement = document.createElement("style");

styleElement.type = "text/css";

styleElement.innerHTML = "body{background:red}";

document.head.appendChild(styleElement);
在IE8中,当涉及innerHTML部分时,代码失败。我试过做:

var inner = document.createTextNode("body{background:red}");

styleElement.appendChild(inner);
但这也会因“对方法或属性访问的意外调用”而失败
我正在寻找解决方法或修复方法。

尝试使用
styleElement.innerText
使用
.styleSheet.cssText

注意:与修改单个元素样式相比,在IE8中这似乎非常缓慢

有没有一种更快的方法可以在IE中动态修改样式表

这在IE8中很慢:

styleElement.styleSheet.cssText = "body{background:red}";
这在IE8中也很慢(假设要修改的样式对象是头部的第一个样式元素):

这在IE8中很快:

document.body.style.background = "red";
document.body.style.background = "red";