繁体   English   中英

当元素没有设置类名时,DOM HTMLElement className属性

[英]DOM HTMLElement className property when the element has no class name set

当你有一个没有设置类名的HTML元素时,HTMLElement className属性的值是多少? 我的第一个想法是它未定义,但我发现在FF中它只是一个空字符串。 我的问题是 - 我可以在所有当前和未来的浏览器中依赖此行为吗? 这是某些规范的一部分还是只是另一种浏览器技巧,以避免编写错误的代码中的错误?

默认情况下它总是一个空字符串(特别DOMString ),是的,你可以依赖它不是null / undefined

真正重要的是getAttribute()定义

返回值 DOMString
Attr值作为字符串,如果该属性没有指定或默认值,则为空字符串。

...它实际上只是一个你要撤回的属性,因此在两种情况下都是相同的行为,界面只是指定了那些属性。

interface HTMLElement : Element {
           attribute  DOMString            id;
           attribute  DOMString            title;
           attribute  DOMString            lang;
           attribute  DOMString            dir;
           attribute  DOMString            className;
};

- http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html.html

还可以看到DOMString的定义。

所以它应该是安全的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM