我正在尝试编辑cssRule的cssText属性。我经常看到它:
通常使用: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时要小心,不要解析样式或定位特定样式。