我正在尝试使用内容,表单元素和附加事件来克隆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>
答案 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/