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

您可以使用.detach()而不是提取原始 HTML 吗?

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

它伴随着你绑定到元素的任何东西。这是jsfiddle中的一个基本示例。

于 2013-02-03T21:54:59.017 回答