使用javascript将新类添加到css样式中
如何在当前css中插入新类使用javascript将新类添加到css样式中,javascript,css,Javascript,Css,如何在当前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:bl
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您似乎在样式表对象和框架选择器函数(可能是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;');
}
注意:我去掉了冗余的if块,改为使用else-if。您可以取消else-if条件,如果需要,只需将其保留为else即可。您似乎在样式表对象和框架选择器函数(可能是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;');
}
注意:我去掉了冗余的if块,改为使用else-if。您可以取消else-if条件,如果愿意的话,将其保留为else。之所以要这样做,是因为您需要实际插入类,还是只想隐藏id=test的对象,如$(“#test”).css('display','none');CSS中没有“类”这样的东西,语言中也没有任何可以嵌套的东西(IIRC)。您的意思是“如何将新规则插入现有规则集中?”您这样做是因为您需要实际插入类,还是只想隐藏id=test的对象,如$(“#test”).css('display','none');CSS中没有“类”这样的东西,语言中也没有任何可以嵌套的东西(IIRC)。您的意思是“如何将新规则插入现有规则集中?”