在包含永久CSS样式表(通过< link rel =“stylesheet”>加载)的网页上,我想修改其CSS规则之一的选择器.我可以参考规则:
var rule = document.styleSheets[…].cssRules[…];
(其中……是数字).
选择后,我可以读取它的选择器和其他值:
rule.cssText // 'em { color: red }'
rule.selectorText // 'em'
rule.style.color // 'red'
但是,当我尝试编写其中一个时,它只允许我编写样式对象:
// These won’t work
rule.cssText = 'em.foo { color: red }';
rule.selectorText = 'em.foo';
// This will work
rule.style.color = 'blue';
为什么不让我写.cssText或.selectorText?从我在the spec中看到的情况来看,它们并非只读.
更新:我也检查了内联样式表.它也不起作用.
最佳答案 至少Firefox以只读方式实现它们.
> https://developer.mozilla.org/en-US/docs/Web/API/CSSRule.cssText
> https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleRule/selectorText