Javascript 使用 For 循环计算 HTML 表格列的总和

发布于 2024-10-10 00:39:40 字数 352 浏览 0 评论 0原文

我有这个 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>

当我将alert(den)放在括号内时,代码适用于每个步骤。但是当我把它放在括号之外时,我找不到警报框,不明白为什么。有人可以帮助我吗?

I have this Javascript problem I cannot solve. My code is:

<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>

When I put alert(den) inside the bracket code works for each step. But when I put it outside the bracket I can't have an alert box, couldn't figure out why. Can anybody help me?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

冷血 2024-10-17 00:39:40

您每次迭代都会覆盖 den,更改为:

<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

You are overwritting den each iteration, change to this:

<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>

edit: according to Tatu Ulmanen's comment I add radix to parseInt, this one drove me crazy a couple of months ago xD

饮惑 2024-10-17 00:39:40

您必须首先确保文本确实是整数才能进行求和,

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);

参考

You must assure first that the text is integer indeed the do the summation,

TryParseInt will do that for you.

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文