kiskiskit
@kiskiskit
Жадно изучаю каждый пиксель

Почему не работает querySelectorAll?

Объясните пожалуйста, почему во время применения querySelectorAll стили не задаются для блоков? но если задать querySelector, то нужный стиль применяется для нужного блока.

Логика такая: по нажатию на button должен появляться блок. По умолчанию у блоков стоит display: none, по нажатию на button должно меняться на display: Block

https://codepen.io/kiskiskit/pen/gOxGpBe
  • Вопрос задан
  • 475 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что querySelectorAll возвращает список элементов (NodeList). Присваивать списку стиль бесполезно, его надо перебирать и работать с каждым элементом.
Ответ написан
Комментировать
zkrvndm
@zkrvndm
Архитектор решений
Потому что в отличии от jQuery на чистом JavaScript надо перебирать элементы по одному при помощи цикла и уже внутри цикла к каждому элементу применять необходимый стиль. Пример:
document.querySelectorAll('.class').forEach(function(element) {
    element.style.display = 'block';
});

Для всех элементов .class будет установлен стиль display: block
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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