在任何其他问题中,我似乎无法找到我正在寻找的东西。我想知道是否有办法克隆一个对象及其DOM节点。我试过了:
newObj = jQuery.extend(true, {}, oldObj);
但这不会克隆任何节点,并且:
newObj = oldObj.cloneNode(true);
但这不会克隆为克隆节点提供其功能的对象,并存储与节点有关的大部分信息。我的目的是在页面加载时定义原始对象,然后克隆并隐藏它,然后再次能够克隆该对象。
我考虑过只是克隆DOM节点,然后每次重新创建对象,但是对象很大并且需要大量代码来定义它的所有属性和方法。
答案 0 :(得分:4)
答案 1 :(得分:2)
正确的jQuery方式:
// Shallow copy
var newObject = jQuery.extend({}, oldObject);
// Deep copy
var newObject = jQuery.extend(true, {}, oldObject);
直接来自horse's mouth - 马是John Resig。