@Vlad_samosuev

Почему возникает ошибка «Uncaught TypeError: Cannot read properties of null»?

не могу понять где ошибка в коде:

const select = document.querySelector('select');
const allLang = ['en', 'ru'];

document.querySelectorAll('.left-panel img').forEach(item => item.onmouseenter = (event) => maxImg.src = event.target.src);

select.addEventListener('change', changeURLLanguage);

// перенаправить на url с указанием языка
function changeURLLanguage() {
    let lang = select.value;
    location.href = window.location.pathname + '#' + lang;
    location.reload();
}

function changeLanguage() {
    let hash = window.location.hash;
    hash = hash.substr(1);
    console.log(hash);
    if (!allLang.includes(hash)) {
        location.href = window.location.pathname + '#ru';
        location.reload();
    }
    select.value = hash;
    document.querySelector('title').innerHTML = langArr[hash];
    // document.querySelector('.lng-chip').innerHTML = langArr['chip'][hash];
    for (let key in langArr) {
        let elem = document.querySelector('.lng-' + key);
        if (elem) {
            elem.innerHTML = langArr[key][hash];
        }

    }
}

changeLanguage();

ошибка:

Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
at script.js:6:8
  • Вопрос задан
  • 349 просмотров
Пригласить эксперта
Ответы на вопрос 2
sergiks
@sergiks Куратор тега JavaScript
♬♬
в первой строчке причина:
const select = document.querySelector('select'); // элемент не находится, в константе NULL
Ответ написан
Комментировать
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
const select = document.querySelector('select');
if (select) {
  // Весь остальной код
} else {
  console.error('Select не найден на странице');
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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