如何复制html元素,文本和样式中的所有内容

时间:2013-01-29 20:49:44

标签: javascript jquery html html5 jquery-ui

我有一个我构建的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

我目前拥有的内容,保存元素,但没有保存的类信息或处理程序。所以在重新加载元素是存在的,但没有别的东西。我需要一些我无需重新加载所有处理程序的东西,重置所有按钮。 (这也是本地运行,性能不是问题)

1 个答案:

答案 0 :(得分:0)

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

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

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