|
как "достать" все объекты документа
все элементы хтмл-документа можно создавать яваскриптом
а как сохранить все элементы-узлы объекта document со всеми ид классами и тд например для повторного создания всех этих узлов |
element.cloneNode() |
я имел в виду не копирование и вставку
а экспорт например в json всех хэлементов dom и импорта из json для воссоздания dom |
Не выйдет так просто -после перекидки объект -ясон-объект , объект уже не будет иметь тип htmlElement. Нужно писать парсер элемент-ясон-элемент. Можно обойтись без парсера элемент-ясон конечно а сделать через стандартный перевод в ясон.
|
парсер чтобы сохранял нужные важные для тебя параметры элемента и записывал ил в ясон(ну и транскрипция) , и наоборот.
ну еще как вариант похранить element.innerHTML сроку)) но не факт что сохранятся и обработчики |
сохранить во фрагменте, потом вставить
<head> <script> window.onload = function () { function createTree(el, par) { var ul = document.createElement('ul'); par.appendChild(ul); var childs = el.children; var len = childs.length; for (var i = 0; i < len; i++) { var li = document.createElement('li'); li.innerHTML = childs[i].tagName; ul.appendChild(li); createTree(childs[i], ul); } } var frag = document.createDocumentFragment(); createTree(document.body, frag); document.body.appendChild(frag); } </script> </head> <body> <div> <div> <span>span</span> <button>button1</button> <input> </div> <div> <form> <input> <input> <span>span2</span> <button>button2</button> </form> </div> </div> <div> <div> <span>span</span> <button>button1</button> <input> </div> <div> <form> <input> <input> <span>span2</span> <button>button2</button> </form> </div> </div> </body> |
мужики, вопрос концептуальный - все узлы DOM это элементы объекта document
это обычный объект со свойствами можно добавлять эти свойства как в обычный объект JS соответственно должен быть простой способ сохранения этого объекта со всеми его свойствами, например сохраниения на клиенте или в БД на сервере - самое логичное конечно же JSON причем без всяких конвертаций же |
Цитата:
var div=document.createElement('div'); alert( div); div=JSON.parse(JSON.stringify(div)); alert( div); var a={}; alert(a); что не понятного ?самый простой способ: кинуть в ясон. затем перевести назад. создать узел(тип тега можно получить из свойств распарсеного) переписать ему все свойства из из распарсеного, перечислением. -но если необходим ещё и минимальный ясон ,то и для первого пункта нужен парсер |
Вопрос, зачем вообще понадобились такие извращения?
Проблема стоит не в том как распарсить DOM а гораздо ранее на этапе когда такая потребность ВООБЩЕ ПОЯВИЛАСЬ у тебя |
это простите не извращения - это я грызу гранит и пытаюсь понять логику
повторюсь ибо ответы ваши не об том чо я спрашиваю - правильно ли я понимаю что хтмл-документ это объекты DOM и следовательно объекты JS-программы и возможно полностью прочитать все элементы объекта document в виде пар ключ-значение и сохранить эти данные, и обратно прочитать эти данные и воссоздать первоначальный документ вопрос наверное к профессорам типа автора учебника этого сайта)) |
Часовой пояс GMT +3, время: 16:54. |
|