来自具有相同类的不同div的值的总和

bob*_*bek 32 jquery

我正在加载具有.totalprice类的动态div .最后,我想总结一下所有的价值观.totalprice.

Rio*_*ams 76

对于<div>元素:

var sum = 0;
$('.totalprice').each(function(){
    sum += parseFloat($(this).text());  // Or this.innerHTML, this.innerText
});
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到一个 有效的例子

对于<input>元素(输入,复选框等):

var sum = 0;
$('.totalprice').each(function(){
    sum += parseFloat(this.value);
});
Run Code Online (Sandbox Code Playgroud)

或者,如果要查找整数,可以使用该parseInt()函数.

你可以在这里看到一个有效的例子.


Ric*_*ick 10

除非您完全确定内容的价值,否则您将无法parseFloat开箱即用.

你需要确保处理:

  • 过多的空白
  • 领先的$
  • 空白
  • 意外的字符串

看一看:

<div class="totalprice">  $1.25 </div>
<div class="totalprice">0.25     </div>
<div class="totalprice">$3.00 </div>
<div class="totalprice">  2.50</div>
<div class="totalprice">$0.01</div>
<div class="totalprice">  </div>
Run Code Online (Sandbox Code Playgroud)

以下将处理所有情况:

var sum = 0;

$(".totalprice").each(function() {
    var val = $.trim( $(this).text() );

    if ( val ) {
        val = parseFloat( val.replace( /^\$/, "" ) );

        sum += !isNaN( val ) ? val : 0;
    }
});

console.log( sum );
Run Code Online (Sandbox Code Playgroud)

另见:http://jsfiddle.net/rwaldron/hfA5V/