@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)
      }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽