【发布时间】:2013-06-20 08:28:43
【问题描述】:
我想创建一个以 DOM 元素为键的散列。以下代码说明了这一点:
var hash = {};
var set = function(element, value) { hash[element] = value; };
var get = function(element) { return hash[element]; };
set(document.getElementById('foo'), 'bar');
get(document.getElementById('foo')); // returns 'bar'
如何确保哈希映射到每个 Element 的唯一值?
请注意,我不能使用原始 ID 字符串作为键,因为可以传入任意的 Element,包括那些没有 id 的。
【问题讨论】:
-
既然可以直接使用
id,为什么还要document.getElementById? -
@KarolyHorvath 抱歉,这是一个简化的示例,我确实需要关闭元素。
-
您可能需要检查this thread on unique arrays
-
@KarolyHorvath 你是什么意思?
-
@GriffLab 许多 DOM 节点没有“id”属性,因此这些节点不能由它们的 id 字符串唯一标识。 OP 希望能够使用任何 DOM 节点作为键。
标签: javascript hashmap weakmap