Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.01.2014, 21:33
Аспирант
Отправить личное сообщение для doox911 Посмотреть профиль Найти все сообщения от doox911
 
Регистрация: 01.04.2013
Сообщений: 56

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

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

Код:
Uncaught TypeError: Cannot set property 'innerHTML' of null
Почему?
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2014, 06:18
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

doox911, Вы уверены, что к тому времени элемент уже загружен?
Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2014, 10:34
Аспирант
Отправить личное сообщение для doox911 Посмотреть профиль Найти все сообщения от doox911
 
Регистрация: 01.04.2013
Сообщений: 56

Сообщение от Ruslan_xDD Посмотреть сообщение
doox911, Вы уверены, что к тому времени элемент уже загружен?
Не знаю. Я могу вам сказать так, что файл js, в котором вызывается данный метод, подключается с html файлом. Я нашел вариант, обойти эту функцию)
$(function(){ $('#id').text(id_tree);});
Ответить с цитированием
  #4 (permalink)  
Старый 17.01.2014, 11:43
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

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

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

Последний раз редактировалось Erolast, 17.01.2014 в 11:46.
Ответить с цитированием
  #5 (permalink)  
Старый 17.01.2014, 12:01
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ajax выдает ошибку vanderv jQuery 0 22.06.2011 19:50
Кодировка при использовании Ajax Nichloas AJAX и COMET 9 17.09.2009 16:06
Проблема в document.write при использовании setInterval() GOll Общие вопросы Javascript 21 06.10.2008 17:38
insertBefore выдаёт ошибку и не работает на опере и фоксе SunnyDay Общие вопросы Javascript 3 19.09.2008 12:08
Ссылка на объект при использовании attachEvent Octane Events/DOM/Window 13 23.07.2008 17:37