我正在尝试编辑cssRule的cssText属性。我经常看到它:

  • Why does altering the height in cssText remove the background: none?
  • Relocate my images at startup

  • 通常使用:cssText.replace(...)。

    它似乎对我以外的所有人都有效。有人可以向我解释以下原因为何不起作用:
        var cssText = document.styleSheets[1].cssRules[0].cssText;
        document.styleSheets[1].cssRules[0].cssText = cssText.replace( "red", "yellow" );
    

    小提琴在这里: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" );
        }
    );
    

    更新的小提琴:http://jsfiddle.net/KbkFH/6/

    注意:如果规则包含类名称redesign,它将替换该类名称为yellowesign,这可能不是您想要的名称。在使用replace时要小心,不要解析样式或定位特定样式。

    09-25 19:33