当你有一个没有设置类名的HTML元素时,HTMLElement className属性的值是多少?我的第一个想法是它未定义,但我发现在FF中它只是一个空字符串。我的问题是 - 我可以在所有当前和未来的浏览器中依赖此行为吗?这是某些规范的一部分还是仅仅是另一种浏览器技巧,以避免编写错误代码中的错误?
答案 0 :(得分:4)
默认情况下,它始终是一个空字符串(a DOMString
specifically),是的,您可以依赖它不是null
/ undefined
。
真正重要的是getAttribute()
definition:
返回值
DOMString
Attr
值为字符串,如果该属性没有指定或默认值,则为空字符串。
...它实际上只是一个你要撤回的属性,所以在两种情况下它都是相同的行为,接口只是指定了那些属性。
答案 1 :(得分:4)
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的定义。
所以它应该是安全的。