![](/img/trans.png)
[英]How to associate Object with DOM element in plain Javascript?
[英]How to associate javascript objects with DOM nodes?
我可以,如果是这样,我如何将javascript对象与DOM节点相关联? 我的要求:
我正在考虑使用一个全局数组来保存数据并将索引放在节点的属性中,但这会泄漏内存,因为当节点不在DOM中时,仍然存在从数组到数据的引用。 这是一个Web应用程序,所以这可能是一个问题。
好吧,jQuery有数据系统,你可以尝试一下。 他们说它没有内存泄漏。
假设你的目标是更新的浏览器(chrome 36,edge 12,IE 11,firefox 36,safari 7.1),那么WeakMap的完美用例:
let map = new WeakMap();
let node = document.getElementById("unicorn");
let data = {};
window.map.set(node, data);
这不会泄漏,因为WeakMap的键被弱引用。
由于标签没有提到jquery。 用Mootools发布答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.