Задать вопрос
@VloVer

Script.js:17 Uncaught TypeError: Cannot read property 'replaceChild' of null?

ошибка Script.js:17 Uncaught TypeError: Cannot read property 'replaceChild' of null

вот код
let main = document.getElementsByClassName('menu-item');
document.parentNode.replaceChild(main[2], main[1]);
  • Вопрос задан
  • 355 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
document - корневой элемент, у него нету родительского узла (parentNode)
Ответ написан
lastuniverse
@lastuniverse
Всегда вокруг да около IT тем
"Уважаемый" автор вопроса, вам на почти)))) человеческом, английском языке, пишет:
Cannot read property 'replaceChild' of null
что переводится:
гугл переводчик - Не удается прочитать свойство 'replaceChild' из null
яндекс переводчик - Не удается прочитать свойство 'replaceChild' из null

смотрим внимательно: Ни как не могу прочитать свойство 'replaceChild' из якобы объекта если оно ни хрена не объект а null.

Может быть JS ошибся? Проверим:
console.log(document.parentNode) // выведет null

Но ведь мы умные, на слово не верим и идем читать доку в поисках может ли быть свойство parentNode у document?
один parentNode
два document

И видим что:
Каждая веб-страница, которая загружается в браузер, имеет свой собственный объект document. Интерфейс документа служит точкой входа для получения содержимого веб-страницы (всего DOM - дерева...)

То есть document содержит всю веб страницу (все что включает тэг body).
ЭТОГО НЕ МОЖЕТ БЫТЬ, А КАК ЖЕ СВОЙСТВО ПАРЕНТ????? (скажете вы)
Чтобы Вас убедить предложу прокрутить по ссылке document чуть вниз и посмотреть какие есть свойства и методы у document. Теперь Вам должна быть понятна причина появления ошибки:
Uncaught TypeError: Cannot read property 'replaceChild' of null
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы