jquery克隆问题,修改id也改变了原始选择器

标签 jquery jquery-selectors jquery-clone

在此代码示例中

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

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

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

但由于我认为克隆会进行深层复制,因此应该会发生这种情况,因此其他问题是错误的。我正在修改 id,所以这可能会造成一些困惑,因为 DOM 中有两个对象具有相同的 id,也许?

任何见解表示赞赏

最佳答案

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

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

关于jquery克隆问题,修改id也改变了原始选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17157241/

相关文章:

jquery - 如何克隆节点,复制数据但不复制事件处理程序?

javascript - 脚本返回未定义的属性

javascript - jQuery 的 fancybox 包已解压

javascript - jQuery之前无法对html进行clone()和appendTo()

javascript - jQuery 嵌套循环 nextUntil 选择器

Jquery:对一个 .click 事件使用两个选择器?

javascript - 如何使用 jQuery 在克隆输入上增加名称 attrVal 数组?

jquery - yii2 将两个变量传递给 onchange

jquery - 无法移除 masonry 中的奇怪空间

javascript - 不区分大小写的 jQuery 属性选择器