我正在尝试从事件目标中解构innerHTML属性,但是当这样做时,DOM似乎没有更新。它适用于样式,但不适用于innerHTML重新分配。
heading = document.querySelector('h1');
heading.addEventListener("click", function(e){
let {innerHTML} = e.target;
innerHTML = "Hi there";
})
答案 0 :(得分:0)
使用像这样的解构就是这样的:
heading.addEventListener("click", function(e){
let foo = e.target.innerHTML;
foo = "Hi there";
})
在这种情况下,由于innerHTML不是对象,而是标量,因此JavaScript将按值而不是按引用进行复制。这意味着更改foo
不会不会更改e.target.innerHTML
,因为它们没有指向内存中的相同位置。