如何在IE8中动态创建CSS类

时间:2015-05-07 11:12:36

标签: javascript html css ie8-browser-mode

我需要在IE8中使用JavaScript动态创建一个CSS样式表类。

我在其他浏览器中使用了以下代码:

var style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = '.cssClass { color: #F00; }';
document.getElementsByTagName('head')[0].appendChild(style);
除了IE8之外,它在所有浏览器中都能正常运行。如何在IE8中实现相同的目标?

1 个答案:

答案 0 :(得分:3)

根据MSDN

  

innerHTML属性在col,colGroup,frameSet,html,head,style,table,tBody,tFoot,tHead,title和tr对象上是只读的。

因此,尝试使用innerText来编写这些类。

<强>更新

您可以使用:

style.styleSheet.cssText = '.cssClass { color: #F00; }';

或者做一个测试:

if (style.styleSheet){
    style.styleSheet.cssText = '.cssClass { color: #F00; }';
} else {
    style.appendChild(document.createTextNode('.cssClass { color: #F00; }'));
}

希望,它现在运行! :)