我正在尝试编辑cssRule的cssText属性.我经常看到它:
通常使用:cssText.replace(...)完成.
它似乎适用于除了我以外的所有人.有人可以解释一下为什么以下不起作用:
var cssText = document.styleSheets[1].cssRules[0].cssText;
document.styleSheets[1].cssRules[0].cssText = cssText.replace( "red", "yellow" );
Run Code Online (Sandbox Code Playgroud)
小提琴在这里:http://jsfiddle.net/KbkFH/3/
你几乎拥有它.你刚刚错过了style
$( document ).ready(
function() {
//.style was missing
var cssText = document.styleSheets[1].cssRules[0].style.cssText;
document.styleSheets[1].cssRules[0].style.cssText = cssText.replace( "red", "yellow" );
}
);
Run Code Online (Sandbox Code Playgroud)
更新小提琴:http://jsfiddle.net/KbkFH/6/
注意:如果规则包含它的类名,redesign则会将类名替换为yellowesign可能不是您想要的类名.使用替换时请小心,不要解析样式或定位特定样式.