0

append、prepend、appedToなどのあらゆる種類のjQueryオプションが表示されますが、divのコンテンツを取り出して、本文の内側に追加したいだけです。コンテンツ全体なので、.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')のようなものがそれを行います。

長いスクリプトを書くことはできると思いますが、単純な1行のjQueryオプションが必要ですか?

4

2 に答える 2

2

このようなもの:

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

divをそのままにして空にし.detach()ておきたい場合は、その部分を省略します。#main

これにより、移動中の要素に関連するイベントハンドラーまたはデータが保持されます。これは、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 に答える