javascript拷贝节点cloneNode()使用介绍

cloneNode(a)方法接受一个布尔值参数,表示是否深拷贝
true:表示执行深拷贝,复制本节点以及整个子节点树
false:浅拷贝.只复制节点本身


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

<div id="guoDiv"> 
  <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 

 

posted @ 2021-02-04 15:48  江城一枝花  阅读(1111)  评论(0编辑  收藏  举报