如何在当前的css中插入新类?
var myStyle = $("head > style:eq(2)");
if( document.styleSheets[2].cssRules ) {
myStyle.insertRule('#test { display:block; }', 0);
} else {
if ( document.styleSheets[2].rules ) {
myStyle.addRule('#test', 'display:block;');
}
}
DD
答案 0 :(得分:1)
您似乎在 styleSheet 对象和框架的选择器函数(可能是jQuery)的结果之间切换。坚持使用 document.styleSheets 来完成整个事情:
var myStyle = document.styleSheets[2];
if( myStyle.cssRules ) {
myStyle.insertRule('#test { display:block; }', 0);
} else if ( myStyle.rules ) {
myStyle.addRule('#test', 'display:block;');
}
nb:我取消了冗余 if 块,转而使用 else if 。如果你想要的话,你可以取消 else if 条件并将其保留为 else 。