我有这个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)放在括号内时,每个步骤都适用。但是,当我把它放在支架外面时,我没有一个警报框,无法弄清楚原因。有人能帮助我吗?
答案 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);