gpt4 book ai didi

javascript - (jQuery) 无法多次追加同一对象

转载 作者:行者123 更新时间:2023-12-03 01:53:51 25 4
gpt4 key购买 nike

我可以理解在附加复制元素时clone()方法的目的,如下所示:

$aObject = $('.className').clone();
$aObject.removeAttr('id');
$('#add-line').click(function() {
$('#container').append( $aObject.clone());
});

但我不明白的是,如果我摆脱克隆方法,只需使用

$('#container').append( $aObject);

我应该仍然能够向容器添加多个相同的对象,但似乎我只能添加 aObject 一次?我们不能像相同对象的数组一样故意多次添加相同的对象吗?

最佳答案

当您在 JavaScript 中将对象分配给变量时,您实际上并不是在分配存储在内存中的对象值,而是指向该对象在内存中位置的引用。

因此,当您声明 $aObject 时,您现在已经存储了对特定对象的引用。当您附加它时,它的行为就像您所期望的那样,附加您正在引用的对象。当您尝试再次执行相同的操作时,它引用的是现在已存在于 DOM 中的相同对象,并且只需获取该对象并重新附加它(什么斯科特·马库斯(Scott Marcus)说这相当于移动)。

如果您先克隆它,那么您将引用一个完全不同的对象,除了您已附加的任何对象之外,还可以附加该对象。

关于javascript - (jQuery) 无法多次追加同一对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50317260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com