Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.10.2008, 17:32
Кандидат Javascript-наук
Отправить личное сообщение для SunnyDay Посмотреть профиль Найти все сообщения от SunnyDay
 
Регистрация: 22.09.2008
Сообщений: 111

Заключение всего содержимого в DIV на JS
Добрый вечер! Мне нужно с помощью Java Script заключить все видимые элементы в элемент DIV. Пытаюсь сделать так:

function includeAllInDiv_ff()
{
	var div=document.createElement('div');
	div.style.position="absolute";
	div.id="asdf";
	var masChilds = document.body.childNodes;
	document.body.appendChild(div);
	//
	alert(masChilds.length);
	//
	for (var i =0;i<masChilds.length;i++)
	{
		if(div!=masChilds[i]){
			div.appendChild(masChilds[i]);
		}
	};
};

но не выходит - в фаердебаге видел, что добавилось внутрь только 3 элемента из 21 =( не могу понять почему.
Помогите мне пожалуйста с этим (нужно для IE).

Последний раз редактировалось SunnyDay, 01.10.2008 в 17:38.
Ответить с цитированием
  #2 (permalink)  
Старый 01.10.2008, 18:00
Кандидат Javascript-наук
Отправить личное сообщение для SunnyDay Посмотреть профиль Найти все сообщения от SunnyDay
 
Регистрация: 22.09.2008
Сообщений: 111

Да, забыл добавить - нужно без использования innerHTML =)
Ответить с цитированием
  #3 (permalink)  
Старый 01.10.2008, 18:18
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

while (document.body.childNodes.length>1) div.appendChild(document.body.firstChild);
Ответить с цитированием
  #4 (permalink)  
Старый 02.10.2008, 10:23
Кандидат Javascript-наук
Отправить личное сообщение для SunnyDay Посмотреть профиль Найти все сообщения от SunnyDay
 
Регистрация: 22.09.2008
Сообщений: 111

ZoNT,
Спасибо, заработало, но интересно, почему же мой код не работа, вроде бы всё верно было..
Ответить с цитированием
  #5 (permalink)  
Старый 02.10.2008, 11:28
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

Смотри: в боди 20 тэгов, ты делаешь цикл на 20 итераций:
1)i=1, первый тэг переносишь в див и УДАЛЯЕШЬ его из боди. В боди становится 19 тэгов и второй тэг становится первым!!!
2)i=2, второй (бывший третий) тэг переносишь в див и УДАЛЯЕШЬ его из боди. В боди становится 18 тэгов и третий тэг (бывший четвёртый) становится вторым!!!
... и т.д.
Ответить с цитированием
  #6 (permalink)  
Старый 02.10.2008, 11:36
Кандидат Javascript-наук
Отправить личное сообщение для SunnyDay Посмотреть профиль Найти все сообщения от SunnyDay
 
Регистрация: 22.09.2008
Сообщений: 111

Да, действительно, теперь понятно)
Ответить с цитированием
Ответ



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

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