Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.10.2012, 09:54
Аватар для macdack
партизан, доктор
Отправить личное сообщение для macdack Посмотреть профиль Найти все сообщения от macdack
 
Регистрация: 29.06.2011
Сообщений: 221

как "достать" все объекты документа
все элементы хтмл-документа можно создавать яваскриптом
а как сохранить все элементы-узлы объекта document со всеми ид классами и тд
например для повторного создания всех этих узлов
Ответить с цитированием
  #2 (permalink)  
Старый 12.10.2012, 11:21
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

element.cloneNode()
Ответить с цитированием
  #3 (permalink)  
Старый 12.10.2012, 11:26
Аватар для macdack
партизан, доктор
Отправить личное сообщение для macdack Посмотреть профиль Найти все сообщения от macdack
 
Регистрация: 29.06.2011
Сообщений: 221

я имел в виду не копирование и вставку
а экспорт например в json всех хэлементов dom
и импорта из json для воссоздания dom
Ответить с цитированием
  #4 (permalink)  
Старый 12.10.2012, 11:40
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Не выйдет так просто -после перекидки объект -ясон-объект , объект уже не будет иметь тип htmlElement. Нужно писать парсер элемент-ясон-элемент. Можно обойтись без парсера элемент-ясон конечно а сделать через стандартный перевод в ясон.

Последний раз редактировалось dmitriymar, 12.10.2012 в 11:43.
Ответить с цитированием
  #5 (permalink)  
Старый 12.10.2012, 11:44
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

парсер чтобы сохранял нужные важные для тебя параметры элемента и записывал ил в ясон(ну и транскрипция) , и наоборот.
ну еще как вариант похранить

element.innerHTML сроку))
но не факт что сохранятся и обработчики

Последний раз редактировалось Maxmaxmахimus, 12.10.2012 в 11:49.
Ответить с цитированием
  #6 (permalink)  
Старый 12.10.2012, 11:59
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

сохранить во фрагменте, потом вставить
<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>
Ответить с цитированием
  #7 (permalink)  
Старый 12.10.2012, 12:09
Аватар для macdack
партизан, доктор
Отправить личное сообщение для macdack Посмотреть профиль Найти все сообщения от macdack
 
Регистрация: 29.06.2011
Сообщений: 221

мужики, вопрос концептуальный - все узлы DOM это элементы объекта document

это обычный объект со свойствами
можно добавлять эти свойства как в обычный объект JS

соответственно должен быть простой способ сохранения этого объекта со всеми его свойствами, например сохраниения на клиенте или в БД на сервере - самое логичное конечно же JSON причем без всяких конвертаций же
Ответить с цитированием
  #8 (permalink)  
Старый 12.10.2012, 12:39
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от macdack
это обычный объект со свойствами
да вот болт
var div=document.createElement('div');
alert( div);
div=JSON.parse(JSON.stringify(div));
alert( div);
var a={};
alert(a);

что не понятного ?самый простой способ:
кинуть в ясон.
затем перевести назад.
создать узел(тип тега можно получить из свойств распарсеного)
переписать ему все свойства из из распарсеного, перечислением.
-но если необходим ещё и минимальный ясон ,то и для первого пункта нужен парсер

Последний раз редактировалось dmitriymar, 12.10.2012 в 12:49.
Ответить с цитированием
  #9 (permalink)  
Старый 12.10.2012, 12:55
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

Вопрос, зачем вообще понадобились такие извращения?
Проблема стоит не в том как распарсить DOM а гораздо ранее на этапе когда такая потребность ВООБЩЕ ПОЯВИЛАСЬ у тебя
Ответить с цитированием
  #10 (permalink)  
Старый 12.10.2012, 14:37
Аватар для macdack
партизан, доктор
Отправить личное сообщение для macdack Посмотреть профиль Найти все сообщения от macdack
 
Регистрация: 29.06.2011
Сообщений: 221

это простите не извращения - это я грызу гранит и пытаюсь понять логику

повторюсь ибо ответы ваши не об том чо я спрашиваю -
правильно ли я понимаю что хтмл-документ это объекты DOM и следовательно объекты JS-программы
и возможно полностью прочитать все элементы объекта document в виде пар ключ-значение и сохранить эти данные, и обратно прочитать эти данные и воссоздать первоначальный документ

вопрос наверное к профессорам типа автора учебника этого сайта))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как проверить загружены ли все картинки браузером Aderba jQuery 13 29.05.2014 14:18
Как узнать все ID? OklickSpb Общие вопросы Javascript 1 15.09.2012 02:56
Как удалить все пустые элементы UL smashercosmo Events/DOM/Window 13 25.02.2009 09:03
как узнать html код документа, подгруженного в iframe alexKniaz Events/DOM/Window 7 03.12.2008 12:37
как разпринтить все существующие переменные scuter Общие вопросы Javascript 11 22.04.2008 14:53