@DrunkDog

Что за ошибка js?

Ребят, из-за чего ошибка???
(function () {
    const burger = document.querySelector('.burger');
    burger.addEventListener('click', () => {
        burger.classList.toggle('burger_active');
    });
}());

Ошибка:
"js.js:4 Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
    at js.js:4:12
    at js.js:7:2"

Пытаюсь бургер сделать
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
ruddy22
@ruddy22
Спасение утопающих — дело рук самих утопающих
На момент вызова IIFE `(function () {...}())` бургер ещё добавлен в DOM. Другими словами, элемента не существует, поэтому `document.querySelector('.burger')` возвращает null (читаем тут и тут).

Возможно, что к ошибке приводит "ранний" запуск скрипта.

Советую, перенести script-тег с функцией в конец body-тега.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Переводим

Cannot read properties of null (reading 'addEventListener')
=>
Невозможно обратиться к свойству у null (обращение к 'addEventListener')


Смотрим в код
burger.addEventListener
Делаем вывод, что burger равен null
Идем выше
const burger = document.querySelector('.burger');
Видим querySelector
Читаем по нему документацию – почему это он вернул null?

Узнаем, что querySelector не нашел искомый элемент.

Бинго! Не пишем примитивный вопрос в интернетах...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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