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

HTML+CSS+JavaScript

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

 

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

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

тема: document.write
 
 автор: magic   (10.11.2010 в 09:58)   письмо автору
 
 

Подскажите, почему document.write не рекомендуют использовать? Лучше использовать DOM.

<script type="text/javascript">
    for(var i=0; i<=10; i++)
    {
        document.write('<span>test '+[i]+'</span><br>');
    }
    </script>

А в DOM надо писать сколько. И как в нем вывод сделать в столбик.

<div id=test>
    <script type="text/javascript"> 
    for(var i=0; i<=10; i++) 
    { 
        var myText = document.createTextNode('test '+[i])
        var mySpan = document.createElement('span'); 
        mySpan.appendChild(myText); 
        test.appendChild(mySpan); 
    } 
    </script>
</div>

  Ответить  
 
 автор: АЯ   (10.11.2010 в 11:14)   письмо автору
 
   для: magic   (10.11.2010 в 09:58)
 

document.write работает в двух режимах:
1. дописывает страницу, пока она формируется (ещё не произошло события window.onload);
2. переписывает страницу, причём ПОЛНОСТЬЮ (после события window.onload).

Дураки у нас - доминантная раса и осмыслить вышенаписанное они не в состоянии.

Сначала эти дураки везде лепят document.write и очень удивляются, что во втором случае (после события window.onload) это у них не работает так, как им надо.
Когда им объясняют - что к чему - эти же дураки делают свой дурацкий вывод, что ВОВСЕ пользоваться этим методом не надо. И радостно кричат об этом на весь свет, сиречь - "рекомендуют".
-----

В Вашем конкретном случае скрипт явно участвует в процессе формирования страницы. Поэтому здесь применение метода document.write вполне оправдано.

На вопрос "как в столбик" отвечаю: тег <BR> также можно создать методом createElement () и потом методом appendChild () поместить его на страницу:
<div id="test">
<script> 
for (var i = 0; i < 11; i++) 
   { 
   var myText = document.createTextNode ('test [' + i + ']'); //здесь у Вас была синтакс. ошибка, я исправил
   var mySpan = document.createElement ('span'); 
   mySpan.appendChild (myText); 
   test.appendChild (mySpan); 

   var myBR = document.createElement ('br'); 
   test.appendChild (myBR);    
   
   } 
</script>
</div> 

  Ответить  
 
 автор: АЯС   (21.12.2011 в 08:28)   письмо автору
 
   для: АЯ   (10.11.2010 в 11:14)
 

Поправляю:
...
   document.getElementById ('test').appendChild (mySpan); 

   var myBR = document.createElement ('br'); 
   document.getElementById ('test').appendChild (myBR);
...

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

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