@vladislav198712

Почему скрипт работает только на первом элементе?

Всем привет! Есть вот такой код, для умножения количества на сумму товара в модальном окне

let qty = document.querySelector('.quantity');
let amount = document.querySelector('.price-amount').firstChild;
let price = +amount.textContent;
qty.addEventListener('input', () => amount.textContent = qty.value*price);

$(function() {

  (function quantityProducts() {
    var $quantityArrowMinus = $(".quantity-arrow-minus");
    var $quantityArrowPlus = $(".quantity-arrow-plus");
    var $quantityNum = $(".quantity-num");

    $quantityArrowMinus.click(quantityMinus);
    $quantityArrowPlus.click(quantityPlus);

    function quantityMinus() {
      if ($quantityNum.val() > 1) {
        $quantityNum.val(+$quantityNum.val() - 1);
      }
    }

    function quantityPlus() {
      $quantityNum.val(+$quantityNum.val() + 1);
    }
  })();

});


В input с количеством товара добавляю класс - quantity
В span с ценой товара добавляю класс - price-amount

Скрипт отлично отрабатывает только на первом модальном окне, на остальные он не реагирует. Почитал в гугле, понял что js возвращает лишь первый элемент, подпадающий под условие. Можно ли это как-то исправить?
  • Вопрос задан
  • 110 просмотров
Пригласить эксперта
Ответы на вопрос 1
imko
@imko
Senior Scratch Developer
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект