CSSRuleList - 包含 CSSRule 对象的有序集合
概要
CSSRuleList
是一个(间接修改)类似数组的对象,它包含 CSSRule
对象的有序集合。
描述
每个 CSSRule 可以通过 rules.item(index)
,或者简单通过 rules[index]
访问,其中 rules
是实现 CSSRuleList
接口的对象(如 CSSStylesheet
.cssRules
),index
是规则的基于 0 的索引,它按 CSS 样式表中的顺序排列。列表中的规则数量是 rules.length
。
请注意,它是间接修改的(可更改但只包含读取方法),不可直接在列表中添加或删除规则,而只能通过其父级样式表从列表中移除或删除规则。事实上,.insertRule()
和 .deleteRule()
甚至不是 CSSRuleList
的方法,而只是 CSSStyleSheet
的方法。但是,如果出于某种原因,列表确实需要修改,但它没有父样式表(可能是列表的活动拷贝),它不能被分配给一个父样式表(因为它没有这样的属性),也不能这样操作(因为 stylesheet.cssRules
是只读的)。它必须按规则的顺序逐个插入到一个父样式表中。
实例
// 获取第一个样式表的第一条规则
var firstRule = document.styleSheets[0].cssRules[0];
相关链接
CSSRuleList 的实现
CSSOM 中有多个属性会返回 CSSRuleList
。它们是:
-
CSSStyleSheet
的cssRules
属性 -
CSSMediaRule
的cssRules
属性 -
CSSKeyframesRule
的cssRules
属性 -
CSSMozDocumentRule
的cssRules
属性