是否可以设置cssRule的cssText属性

bob*_*nte 4 javascript css

我正在尝试编辑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/

Dan*_*ses 6

你几乎拥有它.你刚刚错过了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可能不是您想要的类名.使用替换时请小心,不要解析样式或定位特定样式.