Javascript 我想对同一类的多个div求和

Javascript 我想对同一类的多个div求和,javascript,jquery,Javascript,Jquery,我想用类itemPrice从中获取总值 我的HTML <div class="itemPrice">1,000</div> <div class="itemPrice">2,000.50</div> <div class="itemPrice">3,000</div> <div class="itemPrice">1,020.54</div> <div class="itemPrice">

我想用类itemPrice从中获取总值

我的HTML

<div class="itemPrice">1,000</div>
<div class="itemPrice">2,000.50</div>
<div class="itemPrice">3,000</div>
<div class="itemPrice">1,020.54</div>
<div class="itemPrice">4,200</div>
<div class="itemPrice">3,500</div>

<div class="total">?????</div>
但由于逗号的原因,它不起作用。

您可以使用以下命令:

<div class="itemPrice">1,000</div>
<div class="itemPrice">2,000.50</div>
<div class="itemPrice">3,000</div>
<div class="itemPrice">1,020.54</div>
<div class="itemPrice">4,200</div>
<div class="itemPrice">3,500</div>

<div class="total">?????</div>

<script>
    $(document).ready(function(){
        var total = 0;
        $('.itemPrice').each(function(){
            total += parseFloat($(this).text().replace(/,/g,''))
        })
        $('.total').text(total)
    })
</script>
您可以使用以下选项:

<div class="itemPrice">1,000</div>
<div class="itemPrice">2,000.50</div>
<div class="itemPrice">3,000</div>
<div class="itemPrice">1,020.54</div>
<div class="itemPrice">4,200</div>
<div class="itemPrice">3,500</div>

<div class="total">?????</div>

<script>
    $(document).ready(function(){
        var total = 0;
        $('.itemPrice').each(function(){
            total += parseFloat($(this).text().replace(/,/g,''))
        })
        $('.total').text(total)
    })
</script>
也适用于多个逗号:-

$document.readyfunction{ var total=0;//一个变量 $'.itemPrice'.eachfunction{//迭代itemPrice total=parseFloat$this.text.replace/,/g,+total;//从文本中删除逗号,然后转换为float并将其添加到total变量中 }; total=addCommastotal;//再次添加逗号以与其他表达式一样匹配 $'.total'.htmltotal;//将输出粘贴到结果div }; 函数addCommasnStr{//将值传递给函数 nStr+=; var x=nStr.split'.;//使用拆分值。 var x1=x[0]; 变量x2=x.长度>1?'.+x[1]:; var rgx=/\d+\d{3}/; 而rgx.testx1{//则使用正则表达式检查数组的第一个值 x1=x1.replacergx,'$1'+','+'$2';//根据检查添加逗号 } 返回x1+x2;//返回最终值 } 1,000 2,000.50 3,000 1,020.54 4,200 3,500 ???也适用于多个逗号:-

$document.readyfunction{ var total=0;//一个变量 $'.itemPrice'.eachfunction{//迭代itemPrice total=parseFloat$this.text.replace/,/g,+total;//从文本中删除逗号,然后转换为float并将其添加到total变量中 }; total=addCommastotal;//再次添加逗号以与其他表达式一样匹配 $'.total'.htmltotal;//将输出粘贴到结果div }; 函数addCommasnStr{//将值传递给函数 nStr+=; var x=nStr.split'.;//使用拆分值。 var x1=x[0]; 变量x2=x.长度>1?'.+x[1]:; var rgx=/\d+\d{3}/; 而rgx.testx1{//则使用正则表达式检查数组的第一个值 x1=x1.replacergx,'$1'+','+'$2';//根据检查添加逗号 } 返回x1+x2;//返回最终值 } 1,000 2,000.50 3,000 1,020.54 4,200 3,500 ??? $document.readyfunction{ var总和=0; $.itemPrice.eachfunction{ var val=$this.text; sum+=parseFloatval.replace/,/g, }; $'.total'.textsum; }; 1,000 2,000.50 3,000 1,020.54 4,200 3,500 ??? $document.readyfunction{ var总和=0; $.itemPrice.eachfunction{ var val=$this.text; sum+=parseFloatval.replace/,/g, }; $'.total'.textsum; }; 1,000 2,000.50 3,000 1,020.54 4,200 3,500
这就是我使用jQuery的方式。使用itemPrice类遍历div,将它们相加,并在div中显示结果和类总数

$document.readyfunction{ var总和=0; $'.itemPrice'.eachfunctionindex{ sum+=parseFloat$this.text.replace',',; }; $'.total'.htmlsum; }; 1,000 2,000.50 3,000 1,020.54 4,200 3,500
这就是我使用jQuery的方式。使用itemPrice类遍历div,将它们相加,并在div中显示结果和类总数

$document.readyfunction{ var总和=0; $'.itemPrice'.eachfunctionindex{ sum+=parseFloat$this.text.replace',',; }; $'.total'.htmlsum; }; 1,000 2,000.50 3,000 1,020.54 4,200 3,500
这个答案可以帮助你。但要使用类选择器。@RajaprabhuAravindasamy说的,但也要尝试用parseInt来包装值,因为逗号和句点。@JeffHuijsmans是的。你可以尝试使用/[^0-9.]/g,而不是/^\$/,@PirunTirapibal在使用值之前使用str.replace','和/或正则表达式来摆脱它们。这个答案可以帮助你。但是使用一个类选择器。@RajaprabhuAravindasamy说了什么,但也尝试用parseInt来包装这个值,因为逗号和句点。@JeffHuijsmans是的。你可以尝试使用/[^0-9.]/g,而不是/^\$/,@PirunTirapibal在使用值之前使用str.replace','和/或正则表达式来处理它们。严肃的问题,好奇:是否有理由使用.replace/,/g而不是.replace',?谢谢,我喜欢这个是的,如果你有两个逗号,比如1000000,.replace',,返回1000000@杰夫曼:不客气。如果成功了,请接受它@Piruntirapibalok谢谢+1:严肃的问题,好奇的问题:是否有理由使用.replace/,/g而不是.replace',?谢谢,我喜欢这个是的,如果你有两个逗号,比如1000000,.replace',,返回1000000@杰夫曼:不客气。如果成功了,请接受它@Piruntirapibalok谢谢+1: