Javascript计算带有For循环的HTML表列的总和

时间:2010-12-31 11:21:15

标签: javascript html loops for-loop

我有这个Javascript问题我无法解决。我的代码是:

<script type="text/javascript">
var l=liste.rows.length;    
var i;    
var den=0    
for (i=0;i<=l;i++)  
{  
den=parseInt(liste.rows[i].cells[7].innerHTML)  
den+=den  
}  
alert(den)  
</script>

当我将警报(den)放在括号内时,每个步骤都适用。但是,当我把它放在支架外面时,我没有一个警报框,无法弄清楚原因。有人能帮助我吗?

2 个答案:

答案 0 :(得分:6)

您正在重写每次迭代,更改为:

<script type="text/javascript">
    var l=liste.rows.length;
    var i;
    var den=0;
    for (i=0;i<l;i++) {
        den += parseInt(liste.rows[i].cells[7].innerHTML, 10);
    }
    alert(den);
</script>

编辑:根据Tatu Ulmanen的评论我将基数添加到parseInt,这一个让我疯了几个月前xD

答案 1 :(得分:0)

你必须首先确保文本是整数,确实是求和,

TryParseInt会为你做到这一点。

function TryParseInt(str,defaultValue)
{     
  var retValue = defaultValue;
  if(str!=null)
  {
    if(str.length>0)
    {
       if (!isNaN(str))
       {
          retValue = parseInt(str);
       }
     }
  }     

return retValue; 
}

var den = 0;
for (var i=0; i<=liste.rows.length; i++)
{
   den += TryParseInt(liste.rows[i].cells[7].innerHTML,0);
}
alert(den);

Reference