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

Не получается изменить css-свойство через js?

Делаю учебный проект, необходимо сделать так, чтобы при клике по главной кнопке mainButton, на поле field отображались несколько пин-маркеров pin. В html в template прописаны стили маркеров style="display: none";
Все данные для pin подгружаются с сервера при загрузке страницы и pin появляются в разметке, но стиль на style="display: block" при клике не меняется. Когда данные в pin подгружались локально из объекта, все работало.
Консоль при следующем коде никаких ошибок не показывает.

var field = document.querySelector('.field');
var mainButton = document.querySelector('.main-button');
var pin = document.querySelectorAll('.pin');

function onButtonClick() {
field.classList.remove('field--faded'); // эта строчка кода скрывает оверлэй и прекрасно работает при клике.
for (var i = 0; i < pin.length; i++) {
pin[i].style.display = 'block'; // не работает
}
}
mainButton.addEventListener('click', onButtonClick);
Подскажите, пожалуйста, что не так?
  • Вопрос задан
  • 82 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 3
Anadi
@Anadi
Если ответ Вам помог мой, решением отметье его!
Попробуйте pin[i].css('display ','block');
Ответ написан
Комментировать
alex_keysi
@alex_keysi
Помог с решением? Отметь “правильный ответ”
Найдите все .pin через динамически меняющуюся коллекцию. Это через document.getElementsByClassName('pin')
Ответ написан
Комментировать
@lopyx Автор вопроса
Спасибо за ответы, но не работают эти два метода тоже.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽