我看到各种各样的jQuery选项,如append,prepend,appedTo等,但我只是想取出div的内容并将其附加到body的内部。整个内容,所以不是通过使用.html()而是加载其他div。这些div也可能附有事件,所以我不想把它们弄得一团糟。
<div id="main">
<div id="anything" class="anything">
<p>hello etc.</p>
</div>
</div>
所以我需要取出id =“main”
内的所有内容所以,比如$('#main')。get-its-contents-and-append-to('body')就可以了。
我想我可以写一个冗长的脚本,但必须有一个简单的单行jQuery选项?
答案 0 :(得分:2)
这样的事情:
$('#main').detach().children().appendTo('body');
如果您希望将.detach()
div留在原位但是为空,则省略#main
部分。
这将保留所有与要移动的元素相关联的事件处理程序或数据,如您所见:http://jsbin.com/iguqew/1/edit
答案 1 :(得分:0)
您应该可以使用append
:
$("body").append($("#main").html());
$("#main").empty();
你也可以这样做,这应该保持事件处理程序:
$('body').append($("#main").children());