获取表格单元格中浮点值的总和
get sum of float values in table cells
我有一张人们欠下的罚款表:
<tr><td class='fines'>104.20</td></tr>
<tr><td class='fines'>26.40</td></tr>
<tr><td class='fines'>99.14</td></tr>
我正试图得到细胞的总和:
var sumFines = "";
$.each($('.fines'),function(){
alert($(this).html());
sumFines += parseFloat($(this).html());
})
alert(sumFines);
每个循环中每个警报的结果都是单元格中的数字。最终警报的结果是"NaN
",为什么?
当您对求和时
"" + 120
结果返回一个字符串,您必须对数字求和,因此更改
var sumFines = "";
至
var sumFines = 0;
我需要将sumFines的初始值设置为0。
var sumFines = 0;
$.each($('.fines'),function(){
alert($(this).html());
sumFines += parseFloat($(this).html());
})
alert(sumFines);
var sumFines = "";
使sumFines成为一个字符串,这就是你得到NaN的原因,因为你对一个不能同时转换的字符串和float进行算术运算。
如果您想保留.each方法,只需将初始值更改为0即可。
var subtotal = 0;
$('.fines').each(function() {
subtotal += !isNaN(+$(this).html()) && +$(this).html();
});
alert(subtotal);
线路:
!isNaN(+$(this).html()) && +$(this).html();
断言您实际上是在添加一个数字,否则什么都没有。
小提琴http://jsfiddle.net/hem7q4fn/2/
Nan将整个表达式简化为Nan尝试:
var sumFines = 0;
$('.fines').each(function () {
var num = parseFloat($(this).txt());
sumFines += isNaN(num) ? 0 : num;
});
alert(sumFines);
相关文章:
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 如何将jQuery/AAJAX结果放入表格单元格
- 使用下拉选择菜单高亮显示一行表格单元格
- 使用javascript下拉菜单更改表格单元格的颜色
- 表格单元格高度与背景高度匹配
- 在表格单元格中查找超链接
- 如何使用单击属性和工具提示动态创建表格单元格,该工具提示将超链接到页面
- 在 DIV 中定位表格单元格
- 单击时将表格单元格从范围更改为输入
- 使用 javascript 为 HTML 表格单元格指定颜色
- 将单击表格单元格重定向到其中的
- JQuery insertAfter();移动下一个表格单元格
- 单击并用CTRL+C复制值时高亮显示html表格单元格
- TinyMCE - 允许表格单元格元素作为有效的 html
- 使用jsp更改表格单元格的颜色
- 如何从表格单元格中删除html的某些部分
- 在动态表格单元格跨度中单击时更新一个权重值
- 从所选内容中选择选项,并在表格单元格中显示所选内容的信息
- 在输入字段之前提取表格单元格中的文本
- 使用外部 javascript 更改多个表格单元格中的文本