JavaScript在数组创建元素上追加子元素

JavaScript在数组创建元素上追加子元素,javascript,ecmascript-6,Javascript,Ecmascript 6,我正在尝试更新一个页面,当一个表单提交成功消息时,它将替换当前存在的表单。所以现在我有: function pageUpdate(){ document.querySelectorAll('.form-inside').forEach(e => e.remove()); var tag = document.createElement("p"); var text = document.createTextNode("Thanks"); tag.appendChild(text);

我正在尝试更新一个页面,当一个表单提交成功消息时,它将替换当前存在的表单。所以现在我有:

function pageUpdate(){
 document.querySelectorAll('.form-inside').forEach(e => e.remove());
 var tag = document.createElement("p");
 var text = document.createTextNode("Thanks");
 tag.appendChild(text);
 var form_contain = document.getElementsByClassName('form-container');
 form_contain.appendChild(text);
}
这一点有两个不同的部分。我想我可以做一些类似的移除并执行:

document.querySelectorAll('.form-container').forEach(e => e.appendChild(tag));

这是可行的…但不是真的。它实际上只适用于最后一个,而不是两个。是否有明确的方法将子元素附加到具有相同类的多个元素?

元素不能同时出现在文档的多个部分中

如果将其附加到元素A,然后再附加到元素B,则必须将其从A中删除,以便将其放置在B中


您需要创建元素并在每次循环时填充它。

一个元素不能同时出现在文档的多个部分中

如果将其附加到元素A,然后再附加到元素B,则必须将其从A中删除,以便将其放置在B中


您需要创建元素并在每次循环时填充它。

getElementsByClassName
返回类似数组的结构。类似数组的结构上不会有
appendChild
方法您的第二个代码段似乎只将元素放在最后一个父元素上,因为元素只能有一个父元素。当您将其附加到另一个元素时,它会将其从上一个元素中删除。要附加到所有这些元素,您需要为每个父元素克隆元素。旁注:这可能很简单,只需将其更改为
.forEach(e=>e.innerHTML+=tag.outerHTML)
@Taplar-
appendChild
将节点作为其参数,而不是字符串。请记住,如果已将事件侦听器添加到
标记的任何部分或其子项,则该方法将不是解决此问题的正确方法。
getElementsByClassName
返回类似数组的结构。类似数组的结构上不会有
appendChild
方法您的第二个代码段似乎只将元素放在最后一个父元素上,因为元素只能有一个父元素。当您将其附加到另一个元素时,它会将其从上一个元素中删除。要附加到所有这些元素,您需要为每个父元素克隆元素。旁注:这可能很简单,只需将其更改为
.forEach(e=>e.innerHTML+=tag.outerHTML)
@Taplar-
appendChild
将节点作为其参数,而不是字符串。请记住,如果已将事件侦听器添加到
标记的任何部分或其子项,则该方法将不是解决此问题的正确方法。