jquery clone问题,修改id也会改变原始选择器

时间:2013-06-17 21:33:16

标签: jquery jquery-selectors jquery-clone

在此代码示例中

var attachmentDeletePhotoModal = $('#attachment-deletion');
attachmentDeletePhotoModal.clone();
attachmentDeletePhotoModal.attr('id', 'attachment-deletion-'+file.unique_text);

我希望我的文档包含我的新克隆对象(标识为attachment-deletion-unique_text)以及$('#attachment-deletion');

但这不是我所看到的。据我所知,我没有在这些选择器上调用remove();,所以我被引导相信修改clone()'d对象的属性也会影响原始

但是因为我认为克隆是一个深层副本,所以应该发生这样的事情,所以其他错误。我正在修改id,所以也许这会混淆一些事情,因为有一段时间DOM中有两个具有相同id的对象,可能吗?

任何有识之士

1 个答案:

答案 0 :(得分:5)

您需要将克隆元素分配给这样的变量 -

var attachmentDeletePhotoModal = $('#attachment-deletion');
var cloned  = attachmentDeletePhotoModal.clone();
cloned.attr('id', 'attachment-deletion-'+file.unique_text);