我正在寻找一种方法,无需查看特定元素即可获取页面的CSS,然后更改CSS规则而不是CSS 。使用javascript获取和更改CSS属性而不查看特定元素
例如,假设我想要将所有具有蓝色bg的元素的背景颜色更改为红色,并且之后可能会创建一些新的元素。我想用蓝色的bg找到所有的css类,并将它们改为红色。 document.styleSheets
似乎不能很好地工作:
对于此页面我在控制台中试过。它不记录任何东西。
var logAttr = function(classes){
if(classes !== null){
for(var i = 0; i < classes.length; i++) {
for(var attr in classes[i].style){
console.log(attr);
}
}
}
};
for(var sheets_idx = 0; sheets_idx < document.styleSheets.length; sheets_idx++){
logAttr(document.styleSheets[sheets_idx].rules);
logAttr(document.styleSheets[sheets_idx].cssRules);
}
document.styleSheets[0].rules
和document.styleSheets[0].document.styleSheets
是空...
为什么不'document.styleSheets'似乎工作那么好?你尝试了什么? – Rudie 2014-10-19 04:18:16