Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Выдаёт ошибку при использовании innerHTML (https://javascript.ru/forum/misc/44355-vydajot-oshibku-pri-ispolzovanii-innerhtml.html)

doox911 16.01.2014 21:33

Выдаёт ошибку при использовании innerHTML
 
Доброго времени суток.

Вопрос такой. Если я вызываю свойство innerHTML в html файле то всё норм. Но как только Я засовываю его в отдельный .js выдаёт следующую ошибку:

Код:

Uncaught TypeError: Cannot set property 'innerHTML' of null
Почему?

ruslan_mart 17.01.2014 06:18

doox911, Вы уверены, что к тому времени элемент уже загружен?

doox911 17.01.2014 10:34

Цитата:

Сообщение от Ruslan_xDD (Сообщение 292603)
doox911, Вы уверены, что к тому времени элемент уже загружен?

Не знаю. Я могу вам сказать так, что файл js, в котором вызывается данный метод, подключается с html файлом. Я нашел вариант, обойти эту функцию)
$(function(){ $('#id').text(id_tree);});

Erolast 17.01.2014 11:43

Дело в том, что скрипты выполняются сразу же при своей загрузке, и на момент выполнения того скрипта нужного элемента просто не существует. Чтобы это обойти, надо нужный код записать в обработчик события onload окну, таким образом:
<html>
<head>
<script>
//Следующий код можно записывать хоть в самой странице, хоть подключать отдельно js файлом, как, впрочем, и любой другой.
window.onload = function()
{
  //Любой код, находящийся тут, выполнится только после загрузки страницы.
  document.getElementById("mydiv").innerHTML = "Траляля";
}
</script>
</head>
<body>
<div id="mydiv"></div>
</body>
</html>

Ну либо использовать jQuery, да.

ruslan_mart 17.01.2014 12:01

Или скрипт подключить в конец документа.


Часовой пояс GMT +3, время: 19:33.