Неправильный подсчет

Имеется разметка (числа могут меняться, привел пример):

<div class="items-value"> 17</div>
<div class="items-value"> 19</div>
<div class="items-value"> 27</div>
<div class="total-boxes"> </div>

Был написал JS код:

 var inputs = $('.items-value').text();
    var sum = 0;
    for (var i = 0; i < inputs.length; i++) {
      sum += (+inputs[i]);
    }
    $('.total-boxes').html(sum);

Но идет неправильный подсчет. Как сделать правильно? Считает каждую цифру отдельно, а не отдельную строку.


Ответы (1 шт):

Автор решения: Node_pro

В Вашем примере используется метод text(), который получает контент всех элементов (исключая html-теги) и склеивает их в строку. Как вариант, можно воспользоваться методом each(), чтобы перебрать элементы и суммировать их.

 var sum=0;

 $('.items-value').each(function(){
      sum += +this.textContent;
 });

Тот же код в современном формате:

  let sum = 0;
  $('.items-value').each(() => {
      sum += +this.textContent;
  });
→ Ссылка