0

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

4

2 回答 2

2

像这样的东西:

$('#main').detach().children().appendTo('body');

.detach()如果您想将#maindiv 留在原处但为空,请省略该部分。

这将保留与被移动元素关联的任何事件处理程序或数据,如您在此处看到的:http: //jsbin.com/iguqew/1/edit

于 2013-03-02T03:12:41.497 回答
0

您应该能够使用append

$("body").append($("#main").html());
$("#main").empty();

您也可以这样做,这应该保持事件处理程序到位:

$('body').append($("#main").children());
于 2013-03-02T03:12:06.400 回答