【发布时间】:2015-02-12 21:14:28
【问题描述】:
如何获取所有具有特定 CSS 规则的节点,例如是否定义:
html {
color: blue;
}
div.x {
color: blue;
}
我想获取所有具有color: blue 的节点,我想获取html (document.children[0]) 和所有div 和class='x' 节点,而不是所有受该规则影响的子节点.
编辑最终目标是从网站中删除某些 css 规则,我试过这个脚本但在 Chrome 上不起作用:
var xRules = ['userSelect','webkitTouchCallout','webkitUserSelect','khtmlUserSelect','mozUserSelect','msUserSelect'];
var dS = document.styleSheets;
for(var z in dS) {
var dsz = dS[z].cssRules;
if(!dsz) continue;
for(var y in dsz) {
var dszy = dsz[y].style;
if(!dszy) continue;
console.log(dszy.webkitUserSelect);
for(var x in xRules) {
var xx = xRules[x];
dszy.removeProperty(xx);
}
}
}
所以我能想到的就是我必须找到元素然后删除样式。
【问题讨论】:
-
难道你不能有一个名为
blue的类具有该属性,然后将其分配给你的HTML,所以你需要做的就是document.querySelectorAll('.blue')?容易得多。 -
不,因为我想用javascript来操作别人的网站
-
什么样的操纵?
-
css 操作.. 我需要从每个元素中删除某些 css 规则
标签: javascript css selection