我需要在项目中实现undo-redo功能。但它非常复杂,每一个变化都会影响许多因素。我认为保存和恢复整个页面将是最佳选择。但我有一些问题,缺少DOM元素的.data()参数。我使用下一个函数:
// save
var documentCopy = document.documentElement.cloneNode(true);
// restore
document.replaceChild(
documentCopy,
document.documentElement
);
如何通过保存元素的jQuery.data()来保存和恢复整个DOM?
答案 0 :(得分:0)
我要尝试的琐碎事情是使用jQuery的clone
代替。请务必使用两个true
参数,但要小心,因为这可能非常慢。你确定这是达到你想要的唯一方法吗?你不能替换文件的一小部分吗?
请注意,这似乎不适用于document.documentElement
,并且将其与文档的body
一起使用似乎会丢失原始元素上的数据(比如说什么?)。 Here's a small test.