您如何从中删除00bf00部分:

#main { background:#00bf00 00bf00 url('images/low.png') repeat;  }


我需要动态地执行此操作,因此可能是javascript(如果您有想法,也可以使用其他方法)

我不想更改代码以正确输出,只是想看看是否有办法通过添加代码段将其删除

最佳答案

// for imported stylesheets
var cssRules = [];
for (var i = 0, il = document.styleSheets.length; i < il; i++) {
    if (document.styleSheets[0].cssRules)
        cssRules = document.styleSheets[0].cssRules;
    else if (document.styleSheets[0].rules)
        cssRules = document.styleSheets[0].rules​;
    for (var j = 0, jl = cssRules.length; j < jl; j++) {
        if (/^#main/.test(cssRules[j].cssText))
            cssRules[j].cssText = cssRules[j].cssText.replace(/[^#]00bf00/, '');
    }
}

// for style tags
​var styleTags = document.getElementsByTagName('style');
for (var i = 0, il = styleTags.length; i < il; i++) {
    styleTags[i].innerHTML = styleTags[i].innerHTML
                                         .replace(/(#main.*)[^#]00bf00/, '$1');
}​​


See demo(用于样式标签)

10-07 21:07