jQuery:我看到append,prepend,appendTo,取出什么内容?

时间:2013-03-02 03:08:41

标签: javascript jquery

我看到各种各样的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选项?

2 个答案:

答案 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());