Все - нельзя, есть запретные, но почти все - можно.
Однако: 1. document - адски большой. 2. В document полно саморекурсивных ссылок(firstChild <-> parentNode итд) 3. document и child'ы - не просто объекты - это Node объекты, соответственно если в строку превратить с оговорками(см пункт 2) ещё можно, то обратно уже никак(ну точнее без извращений никак - оно того не стоит). А так FireBug примерно это и делает при построении модели DOM. У меня даже где-то валяется древняя наговнокоженная функция сериализации любых объектов. |
Нет ты понимаешь не правильно, DOM это модель документа, которая через javascript доступка как API в виде обьекта document // то что находится в обьекте document это НЕ обычные обьекты javascript.
Элементы DOM просто ПРЕДСТАВЛЕНЫ в виде обьектов javascript и похожи на них, но на самом деле это API к DOM которая находится в движке браузера. Я думаю Так понятнее? |
да, так более понятно спасибо
итак - JS может полностью сформировать с нуля хтмл-документ любой сложности при этом JS может использовать JSON-данные для создания узлов документа соответственно "модель" документа может быть представлена в виде JS-объекта |
да, ты можешь считать данные о DOM через этот API доступ к которому осуществляется через document / Превратить эти данные в любой удобный для тебя формат, а потом используя этот же API (обьект document) наполнить DOM этими данными.
|
в принципе мне не надо считывать любой документ, то есть парсить его
я размышляю о генерации с нуля хтмл-документа то есть можно же создавая или удаляя или перемещая с помощью JS узлы, писать все эти изменения в "Json-модель" хтмл-документа скажите пожалуйста - как в общих чертах происходит в обычных фреймворках редактирование хтмл-документа в браузере - то есть создание новых узлов, так чтобы все нововведения записывались в БД |
var div = document.createElement('div'); div.className = 'myClass'; div.id = 'myId'; // засунем созданный элемент (через api) в DOM document.body.appendChild( div ); // БАБАХ API метод appendChild добавил в DOM элемент DIV в jQuery напрмиер так $('<div>', {className:'myClass', id: 'myId'}).appendTo( 'body' ); или еще проще $( ' < div class="myClass" id="myId" > ' ).appendTo( 'body' ); |
Только чтоб заблуждений не возникло: jquery делает тоже самое, что в первом примере просто внутри себя, для удобства использования.
P.S. Некоторые шаблонизаторы построены на json, в котором содеждится описание нужных элементов. |
кстати да, какая цель то у тебя вообще? ты хочешь придумать какой то формат чтобы присылать сервером данные о РАЗМЕТКЕ а яваскрипт бы наполнял ими DOM ??
|
о возможном применении я уже написал
подробнее сказать нечего какбе я грызу этот гранит и хочу глубоко понимать а непросто делать как все )) ну и сразу же думаю о своем фреймворке например мне неохота заморачиваться реляционными БД - мне достаточно плоских файлов на ПХП |
Цитата:
не глянул что это было уже ранее. Цитата:
|
Часовой пояс GMT +3, время: 20:16. |