ket*_*tan 0 html javascript dom dictionary object
我正在尝试创建一个以 HTML 元素为键的对象。我使用创建键document.createElement('div')
,但是当我尝试将两个键都插入到对象中时,第二个键最终替换了第一个:
let a = document.createElement('div');
let b = document.createElement('div');
let obj = {};
obj[a] = 3;
obj[b] = 'x';
console.log(obj);
Run Code Online (Sandbox Code Playgroud)
有没有办法在不替换任何键或值的情况下做到这一点?
对象只能保存字符串键。您的div
s 被序列化为字符串,然后相互覆盖。如果你想把 HTML 元素作为键,你应该像这样使用Map:
let a = document.createElement('div');
let b = document.createElement('div');
let map = new Map();
map.set(a, 3);
map.set(b, 'x');
// use Array.from to pretty print the result
console.log(Array.from(map));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
193 次 |
最近记录: |