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。它们是:

规范