使用jQuery将一个div中的图片添加到另一个div中。

3

我想使用jQuery将一个div中的图片添加到另一个div中,但是当我这样做时,图片会从原来的div中消失。我希望图片被复制而不是移动。以下是当前的代码。

$( ".rectangle" ).click(function() {
    $('.bigRectangle').css('display','block');
    $(".notBig").css('opacity',0.2);
    var x = $(this).find('img');
    $('.bigRectangle').append(x);
});
2个回答

5
这是因为DOM节点只能有一个父节点。将它附加到另一个元素上会将其移动为该元素的子元素。在附加之前,使用.clone方法克隆img元素。
$('.bigRectangle').append(x.clone());

2
您只需要执行以下操作:
var x = $(this).find('img').clone();
我建议您查看 clone 函数 "https://api.jquery.com/clone/"
在您的代码中,当您将图像分配给变量“x”时,实际上是移动了该图像。它在变量中保存DOM元素的引用。事实上,您正在保存文档中的所有图像。
希望这可以帮助您,请告诉我。
亚历山大先生

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接