Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вывести все картинки что есть на странице (https://javascript.ru/forum/misc/23473-vyvesti-vse-kartinki-chto-est-na-stranice.html)

padonak 24.11.2011 17:53

Вывести все картинки что есть на странице
 
Здравствуйте добрые люди. Мне предстоит задача вивести все изображения которые содержыт хтмл-страница. Так как с js я только начинаю дружить то идей у меня маловато)
подскажите пожалуйста как реализовать данную задачу.

systemiv 24.11.2011 17:57

var listImg = document.getElementsByTagName('img');
for(var i = 0; i < listImg.length; i++){
    doument.write('<img src="' + listImg[i].src + '" />');
}
</script>

p.s. возможны ошибки, писал без проверки

padonak 24.11.2011 18:39

спасибо. буду пробовать.

9xakep 24.11.2011 20:25

doument.write('<img src="' + listImg[i].src + '" />'); //document
=)

ksa 24.11.2011 20:34

Цитата:

Сообщение от systemiv
var listImg = document.getElementsByTagName('img');

Этого мало... Есть еще и
http://htmlbook.ru/css/background-image

padonak 24.11.2011 21:34

в данном случае интересуют только картинки которые выведены тегом img

irezvov 24.11.2011 22:29

тогда для этого есть document.images

padonak 24.11.2011 23:09

вроде все работает:)
но теперь надо чтобы когда картинка выводиться у нее оставалист ее свойства, то есть title, id, style и т.д. но только те, которые у нее есть

irezvov 24.11.2011 23:53

используй cloneNode, Люк...

padonak 26.11.2011 15:50

обьясните пожалуйста как использовать cloneNode

ksa 26.11.2011 16:01

Цитата:

Сообщение от padonak
как использовать cloneNode

http://www.jstoolbox.com/skripty/dom...nie-elementov/

padonak 26.11.2011 22:31

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">

рони 27.11.2011 05:41

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>

irezvov 27.11.2011 17:40

Цитата:

Сообщение от padonak (Сообщение 139148)
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));

padonak 27.11.2011 23:20

спасибо


Часовой пояс GMT +3, время: 11:38.