可以在DOM元素上設置自定義屬性並依賴它們持久嗎?Javascript DOM:設置自定義DOM元素屬性
例如,給定
<html><body><div id="foo"></div></body></html>
難道是公平的做document.getElementById('foo').bar = "baz";
,並期望document.getElementsByTagName('div')[0].bar
等於"baz"
?
請注意,我正在討論屬性,如同在這裏的普通JavaScript對象屬性,而不是元素屬性。
我對如何跨瀏覽器以及它是否支持任何規範感興趣。
DOM API是否保證每次都會爲同一DOM元素返回相同的JavaScript對象?
您可以設置自定義屬性,但不要依賴它們。它們可能會成爲標準屬性並與您的代碼發生衝突。最好使用jquery/mootools提供的元素存儲系統('.data()'等)。 –
*「DOM API是否保證每次都會爲同一個DOM元素返回相同的JavaScript對象?」 - 我不明白這個問題。 DOM元素是主對象,而不是「JavaScript對象」(正式稱爲本地對象)。 –
看起來像是。 http://jsfiddle.net/YJAvP/ – Birey