我想计算每一行中第二个<td>
项的总和,并将总数加到我的div中。
我的JS如下
$('.table tbody tr:gt(0)').each(function () {
var mixTotal = parseInt($(this).find('td:nth(2)').html());
// Add total to div
$('.totals').text(mixTotal);
});
DEMO HERE http://jsfiddle.net/5pnMh/1/
我的Html是一个标准的HTML表格,其中包含thead
tbody
和tfoot
。
我似乎无法让它发挥作用。我可以得到每个值,但不知道如何添加它们。
寻求帮助
答案 0 :(得分:3)
var mixTotal = 0;
$('tbody tr').each(function () {
mixTotal += parseInt($(this).find('td:eq(1)').text(),10);
});
$('.totals').html(mixTotal);
您的最后一行数字不会包含在TOTAL中,因为它是<tfoot>
。另请注意,仅因为您的第一行是<thead>
,您就不会遗漏<tr></tr>
代码。
答案 1 :(得分:2)
我认为最好将结果存储在变量中,然后在循环后将其附加到div。
// Set global var
var mixTotal = 0;
$('.table tbody tr').each(function () {
// Just add the number
mixTotal = mixTotal+parseInt($(this).find('td:nth-child(2)').html());
});
// And finally, add total to div
$('.totals').text(mixTotal);
如果您将:nth(2)
替换为:nth-child(2)
,您的代码可能会部分有效。
答案 2 :(得分:1)
如果您要对第二列中的值求和,请尝试以下方法:
var mixTotal = 0;
$('.table tbody tr').add('.table tfoot tr').each(function () {
mixTotal += parseInt($(this).find('td:eq(1)').text(), 10);
});
$('.totals').text(mixTotal); // Add total to div
<强> jsFiddle example 强>
答案 3 :(得分:0)
如果您有小数
,请使用此代码var mixTotal = 0;
$('tbody tr').each(function () {
mixTotal += parseFloat($(this).find('td:eq(1)').text(),10);
});
$('.totals').html(mixTotal);
参见 Demo