Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вывести все изображения страницы
 
 автор: unknown09   (24.11.2011 в 22:17)   письмо автору
 
 

нужно вывести все изображения, которые содержаться на данной странице. вот код, который отказывается работать:

<script>
        function f() { 
            var listImg = document.getElementsByTagName('img');
            for(var i = 0; i < listImg.length; i++){
                document.write('<img src="' + listImg[i].src + '" />');
            }
        }
    </script>
    <form>
        <input type="button" value="show" onClick="f()" />
    </form>

  Ответить  
 
 автор: АЯС   (24.11.2011 в 23:38)   письмо автору
 
   для: unknown09   (24.11.2011 в 22:17)
 

<script>
        function f() { 
            var listImg = document.getElementsByTagName('img');
            for(var i = 0, s = ''; i < listImg.length; i++){
                s += '<img src="' + listImg[i].src + '" />';
            }
           document.write(s);
        }
    </script>
    <form>
        <input type="button" value="show" onClick="f()" />
    </form> 

Один и тот же метод document.write () используется:
1) либо для ДОписывания чего-либо на странице.
2) либо для ПЕРЕписывания ВСЕГО содержимого страницы.

В первом случае (для ДОписывания) этот метод работает на этапе формирования документа.
Во втором случае (для ПЕРЕписывания) этот метод работает на уже сформированном документе.

В вашем случае документ уже сформирован (коллекцией getElementsByTagName () можно пользоваться только тогда, когда все элементы этой коллекции уже есть на странице).

Всякое использование метода document.write () на сформированном документе уничтожает ВСЁ, что написано на странице. Включая ВСЕ скрипты.
И в том числе и скрипт, в котором этот метод используется.

Отсюда - использовать в цикле метод document.write () на уже сформированном документе НЕЛЬЗЯ, не получается это. Потому как сам цикл исчезнет после первого же использования метода document.write ().

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования