1

我有两个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 中。

我错过了什么吗?

4

1 回答 1

5

你想要一个深拷贝。cloneNode接受一个可选参数

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

(这是一个小提琴)

虽然根据新规范deep应该是默认的,但在 chrome 和 safari 中它默认为 false。true

于 2013-05-22T17:18:30.627 回答