Javascript appendChild未在for循环中工作

Javascript appendChild未在for循环中工作,javascript,Javascript,我想在代码中多次将现有div var父级附加到新div。这是我的密码。它将现有div附加到上次创建的div。请帮助我 var result = JSON.parse(xhr.responseText); var rowCount = result.length; var parent = document.getElementById("post-feed"); for(i = 0; i < rowCount; i++){ var newdiv = document.createE

我想在代码中多次将现有div var父级附加到新div。这是我的密码。它将现有div附加到上次创建的div。请帮助我

var result = JSON.parse(xhr.responseText);
var rowCount = result.length;
var parent = document.getElementById("post-feed");
for(i = 0; i < rowCount; i++){
    var newdiv = document.createElement("div");
    newdiv.id = "post-id-"+result[i].postid;
    newdiv.className = "row";
    newdiv.appendChild(parent);
    document.getElementById("feed").appendChild(newdiv);
    document.getElementById("post-msg").innerHTML = result[i].message;
    var image = result[i].image;
    if(image != null){
        document.getElementById("image").src = "uploads/"+image;
    }

看起来你在第8行把你的孩子和父母搞砸了。我想你应该说parent.appendChildnewDiv

一个元素不能存在于多个位置,因此如果要重用某个元素的标记,可以使用cloneNode对其进行克隆

document.getElementById("feed").appendChild(newdiv.cloneNode(true));

当然可以。您将迭代地移动父循环,直到循环结束时,它在其静止位置结束,即它附加到的最后一个元素。听起来你在尝试克隆,因为你当前的目标没有其他意义。等等,你想将父元素附加到这些新元素吗?如果是,则不可能在多个位置有一个元素,因此需要克隆它。如果新元素应该在父元素中,那么您的逻辑就被切换了。克隆没有多大帮助,因为它不能克隆父div的子div。我尝试过克隆,但没有给出预期的结果。不清楚您的意思。。。。你到底想做什么?新元素应该住在哪里?新元素中应该包含什么?我希望新的div充当父div的父div这里有一个想法。如果已将父div附加到新div,则在下一次运行循环时可能会遇到错误,因为父div已经是另一个div的子div。我将通过其唯一id调用父div。这样就不会产生任何问题。这样会自动克隆父级的子div吗?我尝试过克隆,但它没有克隆子分区。克隆工作正常。我之前使用的cloneNode造成了问题。