循环遍历每个li并将子div中的值相加

时间:2014-08-05 01:48:26

标签: jquery html html-lists

我需要循环遍历每个li元素,并将子div元素中的文本与' .listTotalPrice'。

类相加。
<ul id='shoppingList'>
    <li>
        <div class='.listTotalPrice'>$ 598.00</div>
    </li>
    <li>
        <div class='.listTotalPrice'>$ 1,233.30</div
    </li>
</ul

这是我的功能。 2个问题:1)它基本上将第一个li中的值乘以列表项的数量,而不是将每个列表项相加。 2)带有逗号的任何值,例如1,200 - 它的读数为1而不是1200. 22,000将被理解为22,等等。

function totalList(){
    var subTotal = 0;

    $( "#shoppingList li" ).each(function(){
        var liTotal = $('.listTotalPrice').text();
        liTotal = liTotal.replace('$ ', '');
        subTotal += parseInt(liTotal);
    });
    alert(subTotal);
};

1 个答案:

答案 0 :(得分:0)

http://jsfiddle.net/7XS2n/

   <ul id='shoppingList'>
   <li>
        <div class='listTotalPrice'>$ 598.00</div>
    </li>
    <li>
        <div class='listTotalPrice'>$ 1,233.30</div>
    </li>
    </ul>

    function totalList(){
    var subTotal = 0;

    jQuery( "#shoppingList li" ).each(function(){
        subTotal +=parseFloat(
            jQuery(this).find('div').text()
            .replace('$ ', '')
            .replace(',',''));

    });
    var subTotal=subTotal.toFixed(2);
    alert(subTotal);
    };
    totalList();