为什么我不能将克隆元素附加到另一个父元素?

时间:2013-05-22 17:16:23

标签: javascript

我有两个div:

<div id='div1'>
  <span>text</span>
</div>

<div id='div2'>
</div>

我正在尝试将范围从div1移动到div2:

  var div1 = document.querySelector('#div1');
  var div2 = document.querySelector('#div2');

  //cloning span
  var span = div1.firstElementChild.cloneNode();
  //removing span from the first div
  div1.removeChild(div1.firstElementChild);
  //trying to append new span to the second div but nothing happens
  div2.appendChild(span);

span元素已删除,但未插入第二个div。

我错过了什么吗?

1 个答案:

答案 0 :(得分:5)

你想要一份深刻的副本。 cloneNode接受可选参数

 var span = div1.firstElementChild.cloneNode(true);

(here is a fiddle)

默认情况下,根据新规范,deep应为true,而在chrome和safari中,默认为{}。