Jquery替换不克隆

时间:2017-01-12 18:10:59

标签: jquery

我正在使用replaceWith()将元素移动到DOM中的另一个父元素。但它会复制它,而不会删除。因此元素保留在该位置,但副本在另一个父元素中生成。我怎样才能将元素移动到其他地方?

3 个答案:

答案 0 :(得分:0)

使用$.append()$.appendTo()。像$('#element').appendTo('#place-to-move-it');一样。这会将#element移至#place-to-move-it

答案 1 :(得分:0)

假设您有以下HTML:

<div id="container1">
    <div id="childDiv"></div>
</div>
<div id="container2">

</div>

您可以执行以下操作:

$("#childDiv").detach().appendTo("#container2");

示例:https://jsfiddle.net/459usn9x/1/

编辑:要在添加元素之前先清除container2的内容,您可以执行以下操作:

$("#container2").empty();
$("#childDiv").detach().appendTo("#container2");

答案 2 :(得分:0)

要在各种设备上一致地执行此操作,请使用:

$('#elementID').detach().appendTo($('#targetID'));

detach保留元素与其他元素的链接,而remove则不然。似乎appendTo单独使用会在某些设备上创建副本。