Задать вопрос
@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);
Подскажите, пожалуйста, что не так?
  • Вопрос задан
  • 80 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
Anadi
@Anadi
Если ответ Вам помог мой, решением отметье его!
Попробуйте pin[i].css('display ','block');
Ответ написан
Комментировать
alex_keysi
@alex_keysi
Помог с решением? Отметь “правильный ответ”
Найдите все .pin через динамически меняющуюся коллекцию. Это через document.getElementsByClassName('pin')
Ответ написан
Комментировать
@lopyx Автор вопроса
Спасибо за ответы, но не работают эти два метода тоже.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
23 дек. 2024, в 22:02
30000 руб./за проект
23 дек. 2024, в 22:01
350000 руб./за проект
23 дек. 2024, в 21:32
20000 руб./за проект