我有两个 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 中。
我错过了什么吗?
最佳答案
你想要一个深拷贝。 cloneNode
接受一个可选参数
var span = div1.firstElementChild.cloneNode(true);
虽然根据新规范,deep
默认为 true
,但在 chrome 和 safari 中,它默认为 false。
关于javascript - 为什么我不能将克隆的元素附加到另一个父元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16697879/