在哪里指定了javascript HTMLElement.style.properties=value语法



我在查找语法的规范时遇到了一点困难

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;
};

也许我遗漏了一些基本的东西,但在我看来,如果规范允许有问题的语法,那就不可能了。如果有人引用了允许直接设置样式属性的语法,我会很感激收到它

它确实在CSSStyleDeclaration的CSSOM规范中,就在cssFloat属性下:

对于支持CSS的每个CSS属性属性以下部分接口适用于骆驼大小写属性所在的位置通过对IDL运行CSS属性获得属性属性的算法。

partial interface CSSStyleDeclaration {
attribute DOMString _camel-cased attribute;
};

camel-cased attribute属性在获取时必须返回调用的结果getPropertyValue()参数是将IDL属性运行到CSS所有物骆驼大小写属性的算法。

设置camel-cased attribute属性必须调用setProperty()第一个参数是运行IDL属性的结果到CSS所有物骆驼大小写属性的算法,作为第二个参数值,没有第三个参数。任何抛出的异常都必须重新抛出。

这样,他们就可以将每个受支持的属性声明为自己的IDL属性。

相关内容

  • 没有找到相关文章

最新更新