@FrikmanTo

Почему нельзя поменять класс у элементов?

Пытаюсь при клике поменять класс у элементов. У тех, что я вижу -- все меняется. А если какой-то элемент на другой странице сайта, то вылезает ошибка Cannot read property 'classList' of null. Что я делаю не так? Помогите, пожалуйста.

UPD: Если зайти на страницу, где есть эти элементы, класс которых я хочу изменить, то все норм и ошибки нет

let darkTheme = function() {
    let darkPic = document.querySelector('.black');
    let lightPic = document.querySelector('.light-theme');

let header = document.querySelector('header');
let content = document.querySelector('.content');

darkPic.onclick = function() {
        lightPic.classList.toggle('hidden');
        darkPic.classList.toggle('hidden');
    }

lightPic.onclick = function() {
        lightPic.classList.toggle('hidden');
        darkPic.classList.toggle('hidden');
    }

if(!lightPic.classList.contains('hidden')) {
        header.classList.toggle('dark-theme');
        content.classList.toggle('dark-theme');
}

if(lightPic.classList.contains('hidden')) {
       header.classList.toggle('dark-theme');
        content.classList.toggle('dark-theme');
}
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
Snova_s_vami
@Snova_s_vami
JavaScript ES5-8, TypeScript, Angular
Пример с кодом не полный. Функция не закрыта, не видно чего там в HTML. Но вообще, ошибка говорит, что querySelector не нашел элемент. Возможно селектор не правильный.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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