我在查找语法规范时遇到了一些麻烦
HTMLElement.style.property=”value” // set the property value
我看到这种语法经常被使用(并且已经成功地使用了它)但是找不到允许这种语法的规范。
使用此语法的示例位于:http://www.w3schools.com/jsref/dom_obj_style.asp和https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.style,但我似乎无法在CSSOM规范中找到语法:http://dev.w3.org/csswg/cssom/
CSSOM指定
的HTMLElement接口HTMLElement implements ElementCSSInlineStyle;
其中ElementCSSInlineStyle
是
[NoInterfaceObject]
interface ElementCSSInlineStyle {
[SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style;
};
以及CSSStyleDaeclaration
interface CSSStyleDeclaration {
attribute DOMString cssText;
readonly attribute unsigned long length;
getter DOMString item(unsigned long index);
DOMString getPropertyValue(DOMString property);
DOMString getPropertyPriority(DOMString property);
void setProperty(DOMString property, [TreatNullAs=EmptyString] DOMString value, [TreatNullAs=EmptyString] optional DOMString priority = "");
void setPropertyValue(DOMString property, [TreatNullAs=EmptyString] DOMString value);
void setPropertyPriority(DOMString property, [TreatNullAs=EmptyString] DOMString priority);
DOMString removeProperty(DOMString property);
readonly attribute CSSRule? parentRule;
attribute DOMString cssFloat;
};
也许我错过了一些基本的东西,但如果规范允许使用相关语法,它就不会向我看。如果有人引用了允许直接设置样式属性的语法,我很乐意接收它。
答案 0 :(得分:2)
确实在CSSStyleDeclaration
的CSSOM规范中,在cssFloat
attribute下面
对于supported CSS property的每个CSS属性属性, 以下部分接口适用于camel-cased属性 通过运行CSS property to IDL attribute获得 属性算法。
partial interface CSSStyleDeclaration { attribute DOMString _camel-cased attribute; };
获取时的
camel-cased attribute
属性必须返回 调用的结果 getPropertyValue() 该参数是运行IDL attribute to CSS property的结果 骆驼属性算法。必须调用
camel-cased attribute
属性的设置 setProperty() 第一个参数是运行IDL attribute to CSS property的结果 camel-cased属性的算法,作为给定的第二个参数 价值,没有第三个论点。抛出的任何异常都必须重新抛出。
这样,他们就可以将每个受支持的属性声明为自己的IDL属性。