12.10.2012, 14:43
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
Все - нельзя, есть запретные, но почти все - можно.
Однако:
1. document - адски большой.
2. В document полно саморекурсивных ссылок(firstChild <-> parentNode итд)
3. document и child'ы - не просто объекты - это Node объекты, соответственно если в строку превратить с оговорками(см пункт 2) ещё можно, то обратно уже никак(ну точнее без извращений никак - оно того не стоит).
А так FireBug примерно это и делает при построении модели DOM.
У меня даже где-то валяется древняя наговнокоженная функция сериализации любых объектов.
__________________
29375, 35
Последний раз редактировалось Aetae, 12.10.2012 в 14:52.
|
|
12.10.2012, 14:44
|
|
司会
|
|
Регистрация: 29.02.2012
Сообщений: 198
|
|
Нет ты понимаешь не правильно, DOM это модель документа, которая через javascript доступка как API в виде обьекта document // то что находится в обьекте document это НЕ обычные обьекты javascript.
Элементы DOM просто ПРЕДСТАВЛЕНЫ в виде обьектов javascript и похожи на них, но на самом деле это API к DOM которая находится в движке браузера.
Я думаю Так понятнее?
Последний раз редактировалось Maxmaxmахimus, 12.10.2012 в 14:50.
|
|
12.10.2012, 14:54
|
|
партизан, доктор
|
|
Регистрация: 29.06.2011
Сообщений: 221
|
|
да, так более понятно спасибо
итак -
JS может полностью сформировать с нуля хтмл-документ любой сложности
при этом JS может использовать JSON-данные для создания узлов документа
соответственно "модель" документа может быть представлена в виде JS-объекта
|
|
12.10.2012, 14:55
|
|
司会
|
|
Регистрация: 29.02.2012
Сообщений: 198
|
|
да, ты можешь считать данные о DOM через этот API доступ к которому осуществляется через document / Превратить эти данные в любой удобный для тебя формат, а потом используя этот же API (обьект document) наполнить DOM этими данными.
|
|
12.10.2012, 15:02
|
|
партизан, доктор
|
|
Регистрация: 29.06.2011
Сообщений: 221
|
|
в принципе мне не надо считывать любой документ, то есть парсить его
я размышляю о генерации с нуля хтмл-документа
то есть можно же создавая или удаляя или перемещая с помощью JS узлы, писать все эти изменения в "Json-модель" хтмл-документа
скажите пожалуйста - как в общих чертах происходит в обычных фреймворках редактирование хтмл-документа в браузере - то есть создание новых узлов, так чтобы все нововведения записывались в БД
Последний раз редактировалось macdack, 12.10.2012 в 15:07.
|
|
12.10.2012, 15:06
|
|
司会
|
|
Регистрация: 29.02.2012
Сообщений: 198
|
|
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' );
Последний раз редактировалось Maxmaxmахimus, 12.10.2012 в 15:08.
|
|
12.10.2012, 15:20
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
Только чтоб заблуждений не возникло: jquery делает тоже самое, что в первом примере просто внутри себя, для удобства использования.
P.S. Некоторые шаблонизаторы построены на json, в котором содеждится описание нужных элементов.
__________________
29375, 35
|
|
12.10.2012, 15:27
|
|
司会
|
|
Регистрация: 29.02.2012
Сообщений: 198
|
|
кстати да, какая цель то у тебя вообще? ты хочешь придумать какой то формат чтобы присылать сервером данные о РАЗМЕТКЕ а яваскрипт бы наполнял ими DOM ??
|
|
12.10.2012, 15:35
|
|
партизан, доктор
|
|
Регистрация: 29.06.2011
Сообщений: 221
|
|
о возможном применении я уже написал
подробнее сказать нечего
какбе я грызу этот гранит и хочу глубоко понимать а непросто делать как все ))
ну и сразу же думаю о своем фреймворке
например мне неохота заморачиваться реляционными БД - мне достаточно плоских файлов на ПХП
|
|
12.10.2012, 16:00
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
Сообщение от macdack
|
правильно ли я понимаю что хтмл-документ это объекты DOM и следовательно объекты JS-программы
|
откуда такое предположение? dom это не объект языка и JS предоставляет API для доступа к DOM
не глянул что это было уже ранее.
Сообщение от macdack
|
какбе я грызу этот гранит и хочу глубоко понимать а непросто делать как все ))
ну и сразу же думаю о своем фреймворке
|
как хватил, может сначала подумать о базовых знания, чем явить миру очередной "шедевр"?
Последний раз редактировалось dmitriymar, 12.10.2012 в 16:03.
|
|
|
|