2012-02-08 40 views
0

我需要在我的項目中實現撤消 - 重做功能。但它非常複雜,每一個變化都會影響到很多因素。我認爲保存和恢復整個頁面將是最佳選擇。但是,我錯過了DOM元素的.data()參數。我使用下面的函數:在javascript中替換整個DOM

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

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

如何通過保存jQuery.data()元素來保存和恢復整個DOM?

回答

0

我會嘗試的小事是使用jQuery的clone來代替。請務必使用兩個true參數,但要小心,因爲這可能非常慢。你確定這是實現你想要的唯一途徑嗎?你不能替換文檔的一小部分嗎?

請注意,這似乎不適用於document.documentElement,並且在文檔的body中使用它似乎失去了原始元素上的數據(說什麼?)。 Here's a small test.