在javascript中替换整个DOM

时间:2012-02-08 11:32:46

标签: javascript dom replace undo

我需要在项目中实现undo-redo功能。但它非常复杂,每一个变化都会影响许多因素。我认为保存和恢复整个页面将是最佳选择。但我有一些问题,缺少DOM元素的.data()参数。我使用下一个函数:

// save
var documentCopy = document.documentElement.cloneNode(true);

// restore
document.replaceChild(
documentCopy,
document.documentElement
);

如何通过保存元素的jQuery.data()来保存和恢复整个DOM?

1 个答案:

答案 0 :(得分:0)

我要尝试的琐碎事情是使用jQuery的clone代替。请务必使用两个true参数,但要小心,因为这可能非常慢。你确定这是达到你想要的唯一方法吗?你不能替换文件的一小部分吗?

请注意,这似乎不适用于document.documentElement,并且将其与文档的body一起使用似乎会丢失原始元素上的数据(比如说什么?)。 Here's a small test.