Страницы

Поиск по вопросам

среда, 29 января 2020 г.

Ошибка “Cannot set property of NULL”

#javascript


До сегодняшнего дня ни разу не писал на чистом javascript'e. Но вот приспичило. У
сразу же схлопотал ошибку, а что не так - не пойму.
Есть один файл (index.html):

 
  
  
  

  
 
 
  
11
И второй файл (script.js): (function () { document.getElementById("qwer").innerHTML='44'; })(); В общем скрипт не работает, отладчик пишет "uncaught typeerror: cannot set property of null" Что же не так? Ведь элемент с id "qwer" существует.


Ответы

Ответ 1



В момент исполнения скрипта, документ еще не загрузился до конца. Первый вариант. Вам нужно сделать аналог jquery метода $(document).ready(). Например, вызывать свой метод внутри window.onload = function(){}; Учтите, что таким образом функцию на событие можно навесить только один раз. Если мало - нужно сделать свой кроссбраузерный аналог jquery метода bind. Есть второй вариант. Переместить вызов скрипта в самый низ документа.

Ответ 2



(function () { window.onload = function { document.getElementById("qwer").innerHTML='44'; } })();

Ответ 3



Можно поставить в тег script defer)

Комментариев нет:

Отправить комментарий