将div移动到另一个位置并从第一个删除它

时间:2017-05-25 08:43:31

标签: jquery

在我的页面中我有一个div,我想把它移到另一个节点下,我发现了这个:

$("#myDiv").appendTo("#form");

但是我得到了myDiv的2个元素!

我怎样才能得到一个div?

1 个答案:

答案 0 :(得分:1)

快速解决方法是:

var myDivHTML = $("#myDiv").html();
$("#myDiv").remove();
$("#form").append(myDivHTML);

注意
当您从DOM中删除元素时,您也会丢失绑定到此元素及其所有子元素的所有事件。要修复它,您必须将事件绑定到不会被删除的父元素,e.x。:

HTML

<div class="will-not-be-removed">
    <div class="this-one-will">
        <!--stuff here-->
    </div>
</div>

JS

$(".will-not-be-removed").on("click", ".this-one-will", function(e){
    console.log("Click!");
});

现在你的事件不会丢失,直到内部DIV在移除/移动后留在外部DIV内部。否则,您必须将事件绑定到DOM中更高的另一个元素。