在我的页面中我有一个div,我想把它移到另一个节点下,我发现了这个:
$("#myDiv").appendTo("#form");
但是我得到了myDiv的2个元素!
我怎样才能得到一个div?
答案 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中更高的另一个元素。