我需要在 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 中实现同样的效果?
最佳答案
根据MSDN :
The innerHTML property is read-only on the col, colGroup, frameSet, html, head, style, table, tBody, tFoot, tHead, title, and tr objects.
所以,尝试使用innerText
来编写这些类。
更新:
您可以使用:
style.styleSheet.cssText = '.cssClass { color: #F00; }';
或者做一个测试:
if (style.styleSheet){
style.styleSheet.cssText = '.cssClass { color: #F00; }';
} else {
style.appendChild(document.createTextNode('.cssClass { color: #F00; }'));
}
希望,它现在可以运行了! :)
关于javascript - 如何在IE8中动态创建CSS类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30099441/