0

私が作成したjQueryページがあります。重要な部分はすべて div 内にあります..

<div id="TestDiv"></div>
<div id="randomDialogName"></div>
<div id="randomDialogName"></div>
<div id="randomDialogName"></div>
<div id="randomDialogName"></div>
</body>

TestDive 内には、多くの要素、チャート、グリッド、ライブ ハンドラーなどがあります (主に jQueryUI 要素)。

私がやりたいのは、「TestDiv」内のすべてを選択して変数に一時的な手段としてコピーし、データを TestDiv にロードし直すときに、すべてをそのままリロードしたいということです。そのようです。

function saveDivElements(){
    var saveId = $('#TestDiv').attr('tab');
    var html = $('#TestDiv').html(); //have tried clone(true) and other methods here
    console.log(html);
    setLoaded(saveId, true, html); //saves to divData member variable on page
}

$("#TestDiv").html(divData); // called later and loads data

私が現在持っているものは要素を保存しますが、保存されるクラス情報やハンドラーはありません。したがって、リロードすると要素はそこにありますが、他には何も残りません。すべてのハンドラーをリロードする必要がなく、すべてのボタンをリセットする必要があります。(これもローカルで実行され、パフォーマンスは問題になりません)

4

1 に答える 1

0

生の HTML を抽出する代わりに.detach()を利用できますか?

var savedChildren = $('#TestDiv').children().detach();

要素にバインドしたものはすべて一緒に取ります。これはjsfiddleの基本的な例です。

于 2013-02-03T21:54:59.017 に答える