更改规则选择器来自 JS的文本



是否可以从javascript更改CSSRule.selectorText?MDN 说它是一个吸气者/设置者,但设置它似乎没有效果......

引用:

https://developer.mozilla.org/en-US/docs/DOM/CSSStyleRule/selectorText?redirectlocale=en-US&redirectslug=DOM%2FcssRule.selectorText

selectorText() 获取/设置规则集选择器的文本表示形式。

编辑:好吧,所有的"文档"都是错误的和误导性的。

http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule

attribute DOMString        selectorText;
                                      // raises(DOMException) on setting

不,浏览器实现(至少在 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>

但是,您可以通过创建和插入您设置其innerHTML的标签来创建和插入<style>标签,而无需解析 CSS。

最新更新