Заменить весь DOM в JavaScript - PullRequest
       15

Заменить весь DOM в JavaScript

0 голосов
/ 08 февраля 2012

Мне нужно реализовать функцию отмены-повтора в моем проекте.Но это очень сложно, и каждое изменение влияет на многие элементы.Я думаю, что сохранение и восстановление всей страницы будет лучшим выбором.Но у меня есть некоторые проблемы с отсутствующими .data () параметрами элементов DOM.Я использую следующие функции:

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

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

Как я могу сохранить и восстановить весь DOM с сохранением jQuery.data () элементов?

1 Ответ

0 голосов
/ 08 февраля 2012

Тривиальная вещь, которую я бы попробовал, - использовать вместо нее jQuery clone. Обязательно используйте его с двумя true параметрами, но будьте осторожны, так как это может быть очень очень медленно Вы уверены, что это единственный способ добиться того, чего вы хотите? Вы не можете заменить меньшую часть документа?

Обратите внимание, что это не очень хорошо работает с document.documentElement, и что использование его с body документа, похоже, приводит к потере данных об исходных элементах (скажем что?). Вот небольшой тест.

...