javascript - 动态创建样式元素并附加到它时在 IE8 中出现错误

标签 javascript html css internet-explorer-8

<分区>

当我创建样式元素并尝试将代码附加到它时,下面的代码抛出错误错误:意外调用方法或属性访问:

//This is OK
var styleElement = document.createElement("style");

//This is OK
styleElement.type = "text/css";

//THIS THROWS THE ERROR
styleElement.appendChild(document.createTextNode("a { color: red; }"));

我做错了什么?

最佳答案

你必须在旧版本的 IE (6-8) 中这样做:

styleElement.styleSheet.cssText = "a { color: red; }";

你可以做这样的事情来支持多个浏览器/版本:

var style = "a { color: red; }";

if(styleElement.styleSheet) styleElement.styleSheet.cssText = style;
else styleElement.appendChild(document.createTextNode(style));

关于javascript - 动态创建样式元素并附加到它时在 IE8 中出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25876410/

上一篇:HTML/CSS 如何必须在同一行上添加标签?

下一篇:javascript - 将图像放入容器中,即使 src 已更改

相关文章:

html - 试图将我的文本置于选项卡导航的中心。我的代码有什么问题?

javascript - 使用 jQuery 制作动画时偏移元素

javascript - javascript/jquery 数组解析

javascript - 使用 javascript 和 jquery 从 JSON 添加“下一个”和“上一个”按钮到 HTML5 音频播放器

javascript - 获取随机表达式生成器

html - 打开后如何使移动页面适合屏幕?

javascript - 如何使用 Tabs API 在 Material-UI 中水平对齐选项卡标签和选项卡图标

css - 为什么我们需要在各种图算法的上限中具有 V(顶点数)和 E(边数)的绝对值

javascript - 未捕获的 TypeError 不是函数 - 带有原型(prototype)的 javascript 类

javascript - 按钮没有响应点击