如何两次插入相同的html元素?

时间:2013-11-25 20:57:01

标签: javascript

这是我的代码的一部分

  elementol = document.createElement("ol");
  var longueur = titres.length;
  for ( k = 0; k < longueur ; ++k) {
    elementli = document.createElement("li");
    elementli.appendChild(
      document.createTextNode(
        titres[k].firstChild.nodeValue
      )
    );
    elementol.appendChild(elementli);
  }
  body = document.getElementsByTagName("body").item(0);
  body.appendChild(elementol);

问题是如果我试图找到另一个项目并附加,那么没什么用。 例如,如果我将末尾的行加倍,就会得到类似的结果:

  body = document.getElementsByTagName("body").item(0);
  body.appendChild(elementol);
  body = document.getElementsByTagName("body").item(0);
  body.appendChild(elementol);

只有第一个追加工作,而不是第二个,所以我没有两次我的结果。我是这种语言的新手,发现了一些代码,但我不知道如何添加多个值。

感谢

1 个答案:

答案 0 :(得分:13)

节点不能同时位于树中的两个位置。

使用.cloneNode(true)进行第二次克隆。

document.body.appendChild(elementol);
document.body.appendChild(elementol.cloneNode(true));

true参数也可以克隆它的后代。