@ForSureN1
frontend dev

Как получить текст из всех элементов с одинаковым классом?

Добрый день, прошу выручить, имею корзину с товарами, которые подгружаются с Localstorage
613b4ee48df22804549729.jpeg
Мне нужно чтобы скрипт подсчитывал итоговую сумму товаров, прошу заметить что при нажатии на + или -, так же увеличивается итоговая сумма. Я сделал так, что у меня считает только последний товар и умножает его на количество как показано на картинке.
//подсчитываение колличества и суммы товара
    const totalBusket = () => {
      let totalcount = 0;
      const ids = Object.keys(cart);
      // console.log(ids)
      for (let i = 0; i < ids.length; i++) {
        const id = ids[i]
        // totalprice += +(cart[id].totalprice);
        totalcount += +(cart[id].quantity);
        totalprice = +(totalcount) * +(cart[id].price);
      }
      let total = 0;
      const price = document.querySelectorAll('.js-cart-item-totalprice');
      console.log(price.innerHTML)
      // for (let i = 0; i < price.length; i++) {
      //   console.log(price[i].innerHTML)
      // }

      cartTotalPriceDOMElement.textContent = totalprice + ' тг';
      cartTotalSummaDOMElement.textContent = totalprice + ' тг';
      cartItemsCounterDOMElement.textContent = totalcount + 'х';
      if (ids.length == 0) {
        cartTotalPriceDOMElement.textContent = 0;
        cartTotalSummaDOMElement.textContent = 0;
      }
      updateCart();
    }


Я в принципе понял как можно решить эту задачу, просто брать текстовое значение у всех классов с итоговой суммой, и суммировать их, но я не могу разобраться, как получать все текстовые значения из одним и тем же классом, как показано в коде выше, я взял весь "массив" с классом js-cart-item-totalprice, и через цикл вывожу его текстовые значения, в консоли я получаю вот что 613b5070815bf190336283.jpeg
Прошу направить и помочь разобраться, заранее благодарю
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
@ForSureN1 Автор вопроса
frontend dev
Решил сам
let total = 0;
      const price = document.querySelectorAll('.js-cart-item-totalprice');
      for (let i = 0; i < price.length; i++) {
        console.log(price[i].innerHTML)
        total = total + parseInt(price[i].innerHTML);
        console.log(total)
      }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
24 нояб. 2024, в 03:11
500 руб./за проект
24 нояб. 2024, в 01:35
5000 руб./за проект
24 нояб. 2024, в 01:24
500 руб./за проект