public interface CSSStyleDeclaration
CSSStyleDeclaration
接口表示单个CSS声明块。此接口可用于确定块中当前设置的样式属性,或者在块内明确设置样式属性。
虽然实现可能不会识别CSS声明块中的所有CSS属性,但预期通过CSSStyleDeclaration
接口提供对样式表中所有指定属性的访问。此外,支持特定级别的CSS的实现应正确处理该级别的CSS简写属性。有关简写属性的进一步讨论,请参见CSS2Properties
接口。
此接口还用于提供对元素计算值的只读访问。另请参阅ViewCSS
接口。CSS对象模型不提供对CSS级联的指定或实际值的访问。
另请参阅文档对象模型(DOM)级别2样式规范。
- 自版本:
- 1.4, DOM级别2
-
Method Summary
Modifier and TypeMethodDescription声明块的可解析文本表示(不包括周围的大括号)。int
在此声明块中明确设置的属性数量。包含此声明块的CSS规则,如果此CSSStyleDeclaration
未附加到CSSRule
,则为null
。getPropertyCSSValue
(String propertyName) 用于检索CSS属性的对象表示形式,如果在此声明块中已明确设置了该属性。getPropertyPriority
(String propertyName) 用于检索CSS属性的优先级(例如"important"
修饰符),如果在此声明块中已明确设置了优先级。getPropertyValue
(String propertyName) 用于检索CSS属性的值,如果在此声明块中已明确设置了该属性。item
(int index) 用于检索在此声明块中已明确设置的属性。removeProperty
(String propertyName) 用于移除在此声明块中已明确设置的CSS属性。void
setCssText
(String cssText) 声明块的可解析文本表示(不包括周围的大括号)。void
setProperty
(String propertyName, String value, String priority) 用于在此声明块内设置属性值和优先级。
-
Method Details
-
getCssText
String getCssText()声明块的可解析文本表示(不包括周围的大括号)。设置此属性将导致解析新值并重置声明块中的所有属性,包括删除或添加属性。 -
setCssText
声明块的可解析文本表示(不包括周围的大括号)。设置此属性将导致解析新值并重置声明块中的所有属性,包括删除或添加属性。- 抛出:
-
DOMException
- SYNTAX_ERR: 如果指定的CSS字符串值存在语法错误且无法解析,则引发。
NO_MODIFICATION_ALLOWED_ERR: 如果此声明为只读或属性为只读,则引发。
-
getPropertyValue
用于检索CSS属性的值,如果在此声明块中已明确设置了该属性。- 参数:
-
propertyName
- CSS属性的名称。请参阅CSS属性索引。 - 返回:
- 如果已为此声明块明确设置属性,则返回属性的值。如果未设置属性,则返回空字符串。
-
getPropertyCSSValue
用于检索CSS属性的对象表示形式,如果在此声明块中已明确设置了该属性。如果属性是简写属性,则此方法返回null
。简写属性值只能作为字符串访问和修改,使用getPropertyValue
和setProperty
方法。- 参数:
-
propertyName
- CSS属性的名称。请参阅CSS属性索引。 - 返回:
-
如果已为此声明块明确设置属性,则返回属性的值。如果未设置属性,则返回
null
。
-
removeProperty
用于移除在此声明块中已明确设置的CSS属性。- 参数:
-
propertyName
- CSS属性的名称。请参阅CSS属性索引。 - 返回:
- 如果已为此声明块明确设置属性,则返回属性的值。如果未设置属性或属性名称不对应已知的CSS属性,则返回空字符串。
- 抛出:
-
DOMException
- NO_MODIFICATION_ALLOWED_ERR: 如果此声明为只读或属性为只读,则引发。
-
getPropertyPriority
用于检索CSS属性的优先级(例如"important"
修饰符),如果在此声明块中已明确设置了优先级。- 参数:
-
propertyName
- CSS属性的名称。请参阅CSS属性索引。 - 返回:
-
如果在此声明块中已明确设置属性并指定了优先级,则返回表示优先级(例如
"important"
)的字符串。否则返回空字符串。
-
setProperty
用于在此声明块内设置属性值和优先级。setProperty
允许修改声明块中的属性或添加新属性。对此方法的任何调用都可能修改item
方法中属性的顺序。- 参数:
-
propertyName
- CSS属性的名称。请参阅CSS属性索引。 -
value
- 属性的新值。 -
priority
- 属性的新优先级(例如"important"
)或如果没有则为空字符串。 - 抛出:
-
DOMException
- SYNTAX_ERR: 如果指定的值存在语法错误且无法解析,则引发。
NO_MODIFICATION_ALLOWED_ERR: 如果此声明为只读或属性为只读,则引发。
-
getLength
int getLength()在此声明块中已明确设置的属性数量。有效索引范围为0到长度-1(包括)。 -
item
用于检索在此声明块中已明确设置的属性。使用此方法检索的属性顺序不一定是设置属性的顺序。此方法可用于迭代此声明块中的所有属性。- 参数:
-
index
- 要检索的属性名称的索引。 - 返回:
- 此序数位置处的属性名称。如果此位置不存在属性,则返回空字符串。
-
getParentRule
CSSRule getParentRule()包含此声明块的CSS规则,如果此CSSStyleDeclaration
未附加到CSSRule
,则为null
。
-