是否可以从javascript更改CSSRule
的{{1}}? MDN说它是一个吸气剂/装定剂,但设定它似乎没有效果......
参考:
selectorText()获取/设置规则集的选择器的文本表示。
编辑: 所有的“文档”都是错误的和误导性的。
http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule
.selectorText
答案 0 :(得分:2)
不,确实显示浏览器实现(至少在Firefox中)选择将这些选择为只读(因为selectorText
(以及cssText
这个事实显然允许这样做)可以抛出“NO_MODIFICATION_ALLOWED_ERR:如果规则是只读的话会引发。”。)。
但是,您可以修改样式属性:
<style>
body { background-color: darkblue; }
</style>
<p>abc</p>
<script>
var stylesheet = document.styleSheets[0]
stylesheet.cssRules[0].style.color = 'red'; // Will make body red
</script>
但是,您可以通过创建和插入<style>
您设置的innerHTML
标记,而无需解析CSS。