クラス名が設定されていないHTML要素がある場合、HTMLElement classNameプロパティの値は何ですか?私の最初の考えはそれが未定義であるということでしたが、FFではそれは単なる空の文字列であることがわかりました。私の質問は、現在および将来のすべてのブラウザでこの動作に依存できますか?それはいくつかの仕様の一部ですか、それともひどく書かれたコードのエラーを回避するための単なる別のブラウザのトリックですか?
1239 次
2 に答える
4
デフォルトでは常に空の文字列(具体的にはDOMString
null
)になります。もちろん、 /ではないことを信頼できますundefined
。
それが本当に重要なのはgetAttribute()
定義です:
戻り値
DOMString
文字列として のAttr
値、またはその属性に指定された値またはデフォルト値がない場合は空の文字列。
...これは実際にはプルバックする属性にすぎないため、どちらの場合も同じ動作であり、インターフェイスはこれらの属性を指定するだけです。
于 2010-12-14T16:16:17.333 に答える
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の定義も参照してください。
だからそれは安全なはずです。
于 2010-12-14T16:17:45.817 に答える