1

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

newObj = jQuery.extend(true, {}, oldObj);

但这不会克隆任何节点,并且:

newObj = oldObj.cloneNode(true);

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

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

4

2 回答 2

4

只需使用$(element).clone();

于 2011-08-19T06:16:55.710 回答
2

正确的jQuery方式:

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

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

那是直接从马的嘴里说出来的——这匹马就是约翰·雷西格

于 2011-08-19T08:13:27.293 回答