是否可以在外部加载的样式表中修改CSS规则的选择器?

在包含永久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

点赞