Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript将片段附加到现有HTML元素_Javascript_Fragment - Fatal编程技术网

Javascript将片段附加到现有HTML元素

Javascript将片段附加到现有HTML元素,javascript,fragment,Javascript,Fragment,我创建了一个DOM片段,在其中我在一个循环中添加了几个子节点: fragment.appendChild( clone ) 我想获取这个片段,并用它替换已经包含这些节点的现有HTML元素 我可以用 myContainer.appendChild(fragment) 然而,这也是在循环中完成的,并且片段被附加了太多次。 如何获取片段,将其附加到myContainer,并删除myContainer的旧孩子 谢谢。循环完成后,您不能追加片段吗 至于删除当前的子节点,您可以在它们之间循环并使用rem

我创建了一个DOM片段,在其中我在一个循环中添加了几个子节点:

fragment.appendChild( clone )
我想获取这个片段,并用它替换已经包含这些节点的现有HTML元素

我可以用

myContainer.appendChild(fragment)
然而,这也是在循环中完成的,并且片段被附加了太多次。 如何获取片段,将其附加到myContainer,并删除myContainer的旧孩子


谢谢。

循环完成后,您不能追加片段吗

至于删除当前的子节点,您可以在它们之间循环并使用removeChild函数,或者只需将元素的innerHTML设置为空字符串。如果在附加片段之前重置innerHTML,应该可以

myContainer.innerHTML = "";
myContainer.appendChild(fragment);
您可能想要:

while (myContainer.childNodes.length > 0) {
    myContainer.removeChild(myContainer.childNodes[0]);
}

myContainer.appendChild(fragment);

如果我理解正确的话,您正在创建一个包含一些子节点的新节点,并且希望此新节点替换页面中的现有节点

您可以:

  • 删除现有节点的所有子节点,并将新子节点添加到现有节点
  • 将所有子节点添加到另一个节点(我想这就是您正在做的:添加到
    片段
    ),然后删除现有节点,并将节点添加到该位置

请参见和

myContainer.replaceChild(片段,myolElement)仅适用于一个子元素。在片段和myoldement中,我有多个子节点。我正在寻找一种使用replaceChild()同时用其他元素替换多个children的方法。。。不仅仅是one@Mircea,你说你想要一个类似于
replaceChild
的东西,比如在数组上运行?恐怕没有。您必须在循环中调用它。是的,类似于replaceChild的东西不仅可以用于一个子项,还可以用于一组子项。