Javascript 如何根据属性在样式表中列出CSS选择器?

Javascript 如何根据属性在样式表中列出CSS选择器?,javascript,css,Javascript,Css,如果样式表的声明中包含以下属性,我需要从样式表创建选择器列表。我特别需要一个脚本来列出样式表中的所有选择器,这些选择器的声明中包含以下所有或部分属性:float、width、margin和padding。我只需要手动检查每个样式表,但是大约有30个,而且它们非常长。有什么想法吗?试试这样的方法: var targetRules = ['float','width','margin-top','margin-right'/*,...*/]; var selectorList = []; var s

如果样式表的声明中包含以下属性,我需要从样式表创建选择器列表。我特别需要一个脚本来列出样式表中的所有选择器,这些选择器的声明中包含以下所有或部分属性:float、width、margin和padding。我只需要手动检查每个样式表,但是大约有30个,而且它们非常长。有什么想法吗?

试试这样的方法:

var targetRules = ['float','width','margin-top','margin-right'/*,...*/];
var selectorList = [];
var sheets = document.styleSheets;
for(var i=0; i<sheets.length; ++i) {
    var rules = sheets[i].cssRules;
    for(var j=0; j<rules.length; ++j) {
        var styles = rules[j].style;
        for(var k=0; k<styles.length; ++k) {
            if(~targetRules.indexOf(styles[k])) {
                selectorList.push(rules[j].selectorText)
            }
        }
    }
}
var targetRules=['float','width','margin-top','margin-right'/*,…*/];
变量选择器列表=[];
var sheets=document.styleSheets;

对于(var i=0;i如果你想彻底了解,你可以选择包含你想要的声明的规则。看起来它很容易遍历。

这里有一个:我要针对的选择器肯定正在使用。我需要列出它们,以便覆盖它们的属性。我只需使用
grep
…你想修改吗o对找到的匹配项有进一步的操作吗?