克隆一个div完成事件对象完整然后重命名id删除源div

时间:2011-11-02 09:44:08

标签: jquery cloning

我正在尝试使用内容,表单元素和附加事件来克隆div。一旦我克隆了div,我想重命名它。问题是,当我重命名我克隆的div时,源div也被重命名。在附加所有事件的情况下克隆现有div的最有效方法是什么,然后创建一个具有相同特征的新名称只是一个不同的名称?

我正在使用jquery 1.6

我可以使用以下内容成功克隆该项目,但是当我尝试重命名该项目时,也会重命名该来源。

var $oldObject = $('#tabs-1');

var newObject = jQuery.extend(true, {}, $oldObject);
newObject.attr('id',"newid");

<div id="tabs-1">
<fieldset>
<div>
<input id="Radio1" type="radio" /> 
</div>
</fieldset>
</div>

2 个答案:

答案 0 :(得分:1)

您当前的代码只是深度复制代表元素的jQuery结构,而不是元素本身。因此,当你致电.attr()时,它仍然是被修改的原始元素。

要正确克隆HTML元素,请执行以下操作:

var $oldObject = $('#tabs-1');
var $newObject = $oldObject.clone(true);

$newObject.attr('id', 'newid');

有关详细信息,请参阅http://api.jquery.com/clone/

答案 1 :(得分:0)

你试过克隆吗? http://api.jquery.com/clone/