@andrei2019

Почему не работает простейшая функция?

Не работает document.querySelector.
Например:

<HTML>
<body>
 <script>
  test = document.querySelector('#text');
 alert(test);
  </script>
          <p id="text">testing</p>
</body>
</html>


Во всех браузерах печатает Null.

Но вот здесь работает: jsfiddle

В чем у меня проблема?
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
У вас элемент text во время выполнения скрипта еще не существует.
А в jsfiddle работает по той причине, что скрипты там выполняются в событии window onload, когда уже весь html готов.
Переместите скрипт вниз либо вызывайте по событию DOMContentLoaded
<HTML>
<body>
 <script>
 function onload() {
     test = document.querySelector('#text');
     alert(test);
  }
 
document.addEventListener("DOMContentLoaded", onload);
  </script>
          <p id="text">testing</p>
</body>
</html>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы