上会出现错误
我需要使用insertRule
通过JavaScript修改某些CSS。我还需要支持IE7-8,因此我需要某种方法来区分JavaScript,无论我是否应该使用insertRule
或addRule
(无需浏览器嗅探)。
这是我正在尝试的,它不起作用:
var sheets = document.styleSheets
if(sheets.insertRule) {
alert("insert");
// insert
} else {
alert("add");
// add
}
任何想法是否可能以及如何使其工作?
编辑:
如果我在IE8中运行此操作,则在页面object does not support this property or method
IE8中似乎没有错误,这是该测试运行所证明的。
var sheets = document.styleSheets
if(sheets.insertRule) {
alert("insert");
// insert
} else {
alert("add");
// add
}
问题可能是由于您已替换为未定义的注释调用方法的代码。
我在firefox上测试了以下内容,它起作用了,只给了我insertrule。您需要指定要使用的样式表。
希望这对需要它的人有帮助。
var sheets = document.styleSheets[0];
if (sheets.addRule) {
alert("addRule");
}
if (sheets.insertRule) {
alert("insertRule");
}