Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 26.11.2011, 16:01
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от padonak
как использовать cloneNode
http://www.jstoolbox.com/skripty/dom...nie-elementov/
Ответить с цитированием
  #12 (permalink)  
Старый 26.11.2011, 22:31
Новичок на форуме
Отправить личное сообщение для padonak Посмотреть профиль Найти все сообщения от padonak
 
Регистрация: 24.11.2011
Сообщений: 7

var listImg = document.getElementsByTagName('img');
var div = document.getElementById('output');
for(var i=0; i<listImg.length; i++)
    div.appendChild(listImg[i].cloneNode(false));



Подскажите где тут ошибка, по тому что начинает цыклить и без конца выводить изображения в <div id="output">
Ответить с цитированием
  #13 (permalink)  
Старый 27.11.2011, 05:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

padonak,
getElementsByTagName это "живая" коллекция элементов, которая обновляется при изменении html ... добавляйте клоны целиком а не по одному ... вариант ниже
<!DOCTYPE >
<html>
<head>
  <title></title>
</head>
<body>
<img src="http://javascript.ru/forum/images/smilies/nono.gif" border="1" alt="test" />
<img src="http://javascript.ru/forum/images/smilies/nono.gif" border="1" alt="test" />
<img src="http://javascript.ru/forum/images/smilies/nono.gif" border="1" alt="test" />
<div id="output" style="border: #FF0000 solid 2px"></div>
 <script type="text/javascript">
var listImg = document.getElementsByTagName('img');
var div = document.getElementById('output');
var f = document.createDocumentFragment();
for(var i=0; i<listImg.length; i++)
    f.appendChild(listImg[i].cloneNode(false));
div.appendChild(f)
</script>
</body>
</html>
Ответить с цитированием
  #14 (permalink)  
Старый 27.11.2011, 17:40
Интересующийся
Отправить личное сообщение для irezvov Посмотреть профиль Найти все сообщения от irezvov
 
Регистрация: 24.11.2011
Сообщений: 24

Сообщение от padonak Посмотреть сообщение
var listImg = document.getElementsByTagName('img');
var div = document.getElementById('output');
for(var i=0; i<listImg.length; i++)
    div.appendChild(listImg[i].cloneNode(false));



Подскажите где тут ошибка, по тому что начинает цыклить и без конца выводить изображения в <div id="output">
var listImg = [].slice.call(document.getElementsByTagName('img'), 0);
var div = document.getElementById('output');
for(var i=0; i<listImg.length; i++)
    div.appendChild(listImg[i].cloneNode(false));
Ответить с цитированием
  #15 (permalink)  
Старый 27.11.2011, 23:20
Новичок на форуме
Отправить личное сообщение для padonak Посмотреть профиль Найти все сообщения от padonak
 
Регистрация: 24.11.2011
Сообщений: 7

спасибо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как проверить загружены ли все картинки браузером Aderba jQuery 13 29.05.2014 14:18
Возможна ли смена типа созданного объекта в Javascript? phprus Общие вопросы Javascript 9 04.07.2009 02:41
Браузер доказывает что не видит функцию SleepWalker Общие вопросы Javascript 7 17.06.2009 23:14
Сторонние библиотеки - быть или не быть? IIIEPJIOK Оффтопик 64 21.03.2009 19:39
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37