Показать сообщение отдельно
  #2 (permalink)  
Старый 04.01.2022, 03:30
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,583

Потому что html формат разработан для работы по сети и рисования сайта сразу по мере получения информации. Т.е. на медленном интернете во втором случае возможна ситуация, когда script - загрузился, а div ещё течёт по проводам. По этому разбор html документа всегда идёт строго по порядку: на момент запуска твоего script - твоего div не существует, и script, соответственно, ничего о нём не знает.

Либо всегда помещай script вниз, либо жди загрузки кода страницы:
window.addEventListener('DOMContentLoaded', function(){
  // твой код
});
либо загрузки всей страницы вместе с картинками, видео и прочим содержимым:
window.addEventListener('load', function(){
  // твой код
});


Про document.write забудь. По крайней мере пока не станешь senior.)
__________________
29375, 35

Последний раз редактировалось Aetae, 04.01.2022 в 03:32.
Ответить с цитированием