Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Uncaught TypeError: Cannot read property 'firstChild' of null (https://javascript.ru/forum/misc/74627-uncaught-typeerror-cannot-read-property-%27firstchild%27-null.html)

Julia1991 25.07.2018 15:34

Uncaught TypeError: Cannot read property 'firstChild' of null
 
Подскажите, пожалуйста, как избавиться от ошибки Uncaught TypeError: Cannot read property 'firstChild' of null
Дело в том, что почти все страницы на сайте выводятся якорем, только страница акции и статьи в блоге выводятся отдельно (сайт на вордпресс).
Подскажите, скрипт для того чтоб вывести функцию initMap только на одной странице (скрипт для определенного url )или для определенного id ?
Скрипт для опр. id не помогает

if (document.getElementById('contacts')){
тело функции
}

Dilettante_Pro 25.07.2018 16:37

Julia1991,
Ваш вопрос неизвестно о чем.
Ошибка Uncaught TypeError: Cannot read property 'firstChild' of null говорит о том, что вы пытаетесь найти первого потомка какого-то не найденного элемента. Какого - кто знает? Элемента с id = 'contacts'?
Проверка по наличию элемента с id вполне работает.

Есть элемент - есть алерт
<div id = 'contacts'><img src = "https://javascript.ru/cat/list/donkey.gif"></img>
    <div></div>
</div>
<script>

   var old = document.getElementById('contacts');

   if (old){
       alert(old.firstChild.tagName);
   }

</script>

Нет элемента - нет алерта
<div id = 'cont'><img src = "https://javascript.ru/cat/list/donkey.gif"></img>
    <div></div>
</div>
<script>

   var old = document.getElementById('contacts');

   if (old){
       alert(old.firstChild.tagName);
   }

</script>

Dilettante_Pro 26.07.2018 12:17

Julia1991,
В этом коде у вас описание функции initMap, и вы ограничиваете формирование описания наличием элемента test.
Ошибка же возникает не в описании, а при запуске функции initMap - вот это обращение к функции и надо ограничивать наличием элемента test, аналогично тому, как в моих примерах ограничивается запуск функции alert() (тем более, что описание в этом случае у вас не формируется)


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