通过包含美元金额的表列进行迭代会在添加时返回NaN

时间:2017-04-28 17:47:19

标签: javascript jquery

我正在尝试将一列中的美元金额加起来。目前我正在迭代行,当我在console.log时,它显示了金额。当我尝试添加它们时会出现问题。

这是我目前的代码:

   var total,curAmount;
   $('#carrier-details-table tbody tr > td:last-of-type').each(function() {

       if($(this).parent('tr').css('display')=='table-row'){
         curAmount = parseFloat($(this).text().replace(',','').split('$')[1]);
         total += curAmount;
         console.log(curAmount);
       }

   });

同样,curAmount显示正确的数字,但是当我console.log(total)时,它显示NaN。我也尝试将$(this).text()更改为$(this).html(),但仍然没有。有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:4)

或许您需要先将变量total初始化为0

var total = 0, curAmount;

答案 1 :(得分:1)

总计初始化为undefined,因此undefined + 1 == NaN;
您可以更改:var total = 0,curAmount;