如何添加从html表中获取的html内容?

我有这个脚本

$('table#preview td.price').each(function(){ var price = parseInt($(this).html()); var total; if(price == ''){ price = 0; } total += price; alert(total); }); 

它的作用是获得具有类价格的列然后据说将其全部添加。

但是,我从这段代码得到的只是NaN。 我不明白代码有什么问题。

请注意脚本if(price ==”) 。 我这样做是因为最初表中没有内容。

编辑:这里是html

  
Name Price
pen 6 paper 8

尝试使用.text()方法而不是.html()方法,它应该有助于摆脱NaN错误。 您需要在每次迭代的范围之外声明total ,以便每次都不会重置。 试试这个,我稍微简化了一下,还包括对price的检查:

 var total = 0; $('table#preview td.price').each(function() { var price = parseInt($(this).text()); if (!isNaN(price)) { total += price; } }); alert('The total is: ' + total); 

更新

这是一个jsFiddle 。 NB .html()也应该有效。