JavaScript cloneNode() 方法深拷贝与浅拷贝详解
作者:像素猫时间:2026-10-28 08:47:21浏览:212
本文介绍 JavaScript 中 cloneNode() 方法的使用。该方法通过布尔参数控制节点复制行为:true 执行深拷贝,包含子节点树;false 执行浅拷贝,仅复制当前节点。复制后的节点需通过 appendChild 等方法插入文档才能显示,否则无父节点。
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作者最新文章
vtk.js 渲染窗口黑屏或无内容显示的常见原因及排查
2026-11-05 17:30:30
js-cookie 安装与基础用法:set、get、remove 详解
2026-11-05 16:35:06
适合JavaScript初学者的实战项目:制作简易待办事项列表
2026-11-05 16:17:07
JS打开新标签页时怎么通过URL传递参数
2026-11-05 12:21:08
sigma.js 自定义节点样式:设置颜色、大小及标签显示的技巧
2026-11-05 09:55:00
