错误与" insertRule"?

时间:2012-03-13 17:14:16

标签: javascript css

我有Javascript代码,修改自“Javascript:The Definitive Guide”(第442-444页或点击位置14998),它创建了CSS样式表并插入规则。但我发现使用它推广的标准化方法在Chrome中不起作用:

JSFiddle #1

如果以上代码在Chrome中运行,则只有“你!”这个词。变成橙色。如果我介绍一个丑陋的黑客,那么它在Chrome中运行正常:

JSFiddle #2

这是书中的错误,Chrome中的错误,还是我搞砸了?

注意我故意不使用库(例如jquery等)进行此练习。

1 个答案:

答案 0 :(得分:0)

中的行styleElt.innerHTML = styles;
if (typeof styles === "string") {
// The argument is stylesheet text
if (styleElt) {
    styleElt.innerHTML = styles;
} else {

重新创建styleSheet个对象。 styleSheet.styleSheet的值与文档分离,导致丢失所有先前声明的样式规则。

Firefox的工作方式与Chrome相同,因此看起来这不是错误。