javascript:克隆对象及其节点

javascript:克隆对象及其节点,javascript,jquery,object,cloning,clonenode,Javascript,Jquery,Object,Cloning,Clonenode,我似乎无法在任何其他问题中找到我想要的东西。我想知道是否有办法克隆对象及其DOM节点。我试过: newObj = jQuery.extend(true, {}, oldObj); 但这不会克隆任何节点,并且: newObj = oldObj.cloneNode(true); 但这不会克隆为克隆节点提供功能并存储与节点相关的大部分信息的对象。我的意图是在页面加载时定义原始对象,然后克隆并隐藏它,然后能够稍后再次克隆该对象 我曾考虑过只克隆DOM节点,然后每次都重新创建对象,但该对象很大,需要大

我似乎无法在任何其他问题中找到我想要的东西。我想知道是否有办法克隆对象及其DOM节点。我试过:

newObj = jQuery.extend(true, {}, oldObj);
但这不会克隆任何节点,并且:

newObj = oldObj.cloneNode(true);
但这不会克隆为克隆节点提供功能并存储与节点相关的大部分信息的对象。我的意图是在页面加载时定义原始对象,然后克隆并隐藏它,然后能够稍后再次克隆该对象

我曾考虑过只克隆DOM节点,然后每次都重新创建对象,但该对象很大,需要大量代码来定义其所有属性和方法。

简单使用简单使用适当的jQuery方式:

// Shallow copy
var newObject = jQuery.extend({}, oldObject);

// Deep copy
var newObject = jQuery.extend(true, {}, oldObject);
这直接来自于马的存在。

正确的jQuery方式:

// Shallow copy
var newObject = jQuery.extend({}, oldObject);

// Deep copy
var newObject = jQuery.extend(true, {}, oldObject);

这是直接从马的存在中得出的。

只是为了将其四舍五入,这是值得的,因为它有两个相关的可选参数,基本上完成了与cloneNode相同的事情(true),只有节点被复制,在阅读文档后没有对象的属性或方法被克隆,这是因为我的脚本只使用有限的jquery;文档指定要进行克隆,必须使用.data()分配所有数据,因为我只是使用object.property来定义我的信息,所以您应该修复脚本。;)为了使其更全面,这是值得的,因为它有两个相关的可选参数,这些参数完成了与cloneNode基本相同的事情(true),只有节点被复制,对象的属性或方法在阅读文档后都没有被克隆,这是因为我的脚本只使用有限的jquery;文档指定要进行克隆,必须使用.data()分配所有数据,因为我只是使用object.property来定义我的信息,所以您应该修复脚本。;)我尝试了这个,它正是我想要的,除了这个,原始的
originalObj=div
,但是
returnedClonedObj=Object{}
,我没有div可以附加到页面上我不确定你所说的
originalObj=div
——原始对象是DOM节点(=也是对象)吗?jQuery对象有一个
.get()
方法返回相应的DOM节点-是吗?我尝试了这个方法,它正做我想要的事情,除了原始的
orginalObj=div
,但是
returnedClonedObj=Object{}
,我没有可以附加到页面的div我不知道你说的
originalObj=div
——原始对象是DOM节点(=也是对象)吗?jQuery对象有一个
.get()
方法返回相应的DOM节点,是吗?