gpt4 book ai didi

Javascript 将样式附加到 event.target

转载 作者:行者123 更新时间:2023-12-01 01:16:49 25 4
gpt4 key购买 nike

我有一个函数clickEvent(event)和一个数组。我想将元素推送到数组,然后循环遍历此列表,将这些元素与包含相同元素的另一个数组的元素进行比较。问题是,当我向元素添加样式时,该元素的 HTML 发生变化,不再与其他列表中的元素相同。为什么包含样式的元素会添加到列表中?我在推送元素后添加样式,所以我不明白为什么会发生这种情况。

是否有另一种方法可以向元素添加背景而不向所述元素附加样式?

clickEvent(event) { 
array.push(event.target);
event.target.style.background = 'red';
}

最佳答案

您添加到列表中的只是对 HTML 元素的引用,而不是实际元素本身。您需要做的是克隆事件目标并将克隆添加到列表中。

例如:

array.push(event.target.cloneNode());

这将创建该元素的全新副本,当原始元素更改时,该副本不会更改。

有关cloneNode方法的更多信息可以在 https://developer.mozilla.org/en-US/docs/Web/API/Node/cloneNode 找到

关于Javascript 将样式附加到 event.target,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54677967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com