Javascript的appendChild向DOM添加一个元素两次?

问题描述 投票:0回答:2

我有这个代码(TH 是我的表头 DOM 元素):

var typeIndicator = document.createElement('span');
typeIndicator.innerText = "A";
TH.appendChild(typeIndicator);

发生的情况是它附加了 2 个

<span>
元素而不是一个。有人以前遇到过这个问题吗?

javascript dom appendchild
2个回答
1
投票

大多数情况下,双重或多个事件触发意味着您在代码中的某个位置多次分配相同的事件侦听器。

首先检查您的循环(如果有),然后我可以建议您在代码片段上方放置一个

debugger;
语句,并使用浏览器的开发人员工具调试程序流程。

PS:如果我有足够的声誉,我会发表评论而不是回答。如果您可以在您的代码片段中添加一些上下文(例如一些更多的封闭代码,甚至尝试在 jsFiddle 中重现您的问题),我也许可以扩展我的答案。


0
投票

如果有帮助 - 我也遇到了同样的问题。

我变了

document.querySelector(".load-more-target").appendChild(divs[i]);

document.querySelector(".load-more-target")[0].appendChild(divs[i]);

在我的代码中修复它。事实证明,我有多个该类的实例。

© www.soinside.com 2019 - 2024. All rights reserved.