是否可以在DOM元素上设置自定义属性,并依赖它们持久化?
例如,给定
<html><body><div id="foo"></div></body></html>
Run Code Online (Sandbox Code Playgroud)
这样做是否公平document.getElementById('foo').bar = "baz";,并期望document.getElementsByTagName('div')[0].bar相等"baz"?
请注意,我在这里谈论的是属性,就像普通的javascript对象属性一样,而不是元素属性.
我对它是如何跨浏览器感兴趣,以及它是否支持任何规范.
DOM API是否保证每次都会为同一个DOM元素返回相同的javascript对象?
嗯,有dataset属性:
div.dataset.bar = 'baz';
Run Code Online (Sandbox Code Playgroud)
但它没有在 IE 中实现。
现场演示: http : //jsfiddle.net/simevidas/dJr2u/