我有Javascript代码,修改自“Javascript:The Definitive Guide”(第442-444页或点击位置14998),它创建了CSS样式表并插入规则。但我发现使用它推广的标准化方法在Chrome中不起作用:
如果以上代码在Chrome中运行,则只有“你!”这个词。变成橙色。如果我介绍一个丑陋的黑客,那么它在Chrome中运行正常:
这是书中的错误,Chrome中的错误,还是我搞砸了?
注意我故意不使用库(例如jquery等)进行此练习。
答案 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相同,因此看起来这不是错误。