如何在当前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

最佳答案

您似乎在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。如果条件允许,您可以取消其他条件,如果需要,可以将其保留为其他条件。

09-19 19:35