You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何简便克隆Document Fragment且保留原片段不受影响?

简便克隆DocumentFragment并保留原有状态的方法

你完全不需要手动遍历子节点再逐个克隆,DocumentFragment继承自Node接口,自带cloneNode()方法,直接调用就能实现完整克隆:

// 直接克隆整个DocumentFragment,true表示深度克隆所有子节点及状态
const clonedFrag = dFrag.cloneNode(true);

这个方法会完整保留原片段的所有节点结构、属性以及事件绑定等状态,比你手动处理的方式更简洁高效。

另外你的原代码存在局限性:cloneNode()不传参数时是浅克隆(仅克隆节点本身,不包含子节点),后续手动设置innerHTML虽然能复制内容,但会丢失节点的事件绑定、自定义属性等状态信息,而深度克隆cloneNode(true)可以完美规避这个问题。

内容的提问来源于stack exchange,提问作者user18134631

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 16:35:26