javascript拷贝节点cloneNode,使用介绍

cloneNode(a)方法接受一个布尔值参数,表示是否深拷贝

true:表示执行深拷贝,复制本节点以及整个子节点树

false:浅拷贝.只复制节点本身

复制后返回的节点副本属于文档所有,但是并没有父节点.除非使用appendChild,insertChild(),replaceChild()将它添加到文档

<div > 
  <span>1</span> 
  <span>2</span> 
  <span>3</span> 
</div> 

var oDiv = document.getElementById("guoDiv");

// 拷贝子节点(深拷贝)
var deepList = oDiv.cloneNode(true); 
alert(deepList.childNodes.length); //3或7(兼容性问题,所以结果不一样) 

// 拷贝当前元素引用(浅拷贝)
var showList = oDiv.cloneNode(false); //只拷贝当前元素的引用 
alert(showList.childNodes.length); //0