我有一个像这样的行的表:
<tr>
<th width="30"></th>
<th width="30">Time</th>
<th>Description</th>
</tr>
<tr>
<td><a href="#" class="edit">edit</a></td>
<td class="time">2.50</td>
<td>I did this, and also that, then a little of something else.</td>
</tr>
<tr>
<td><a href="#" class="edit">edit</a></td>
<td class="time">1.50</td>
<td>Another description of time.</td>
</tr>
<tr>
<td><a href="#" class="edit">edit</a></td>
<td class="time">1.50</td>
<td>Yet one more item entered.</td>
</tr>
<tr class="total">
<td><strong>Total:</strong></td>
<td><strong>[calculate total here]</strong></td>
<td> </td>
</tr>
我正在使用jQuery,并且作为添加时间时发生的函数的一部分,我需要在td.time单元格中添加所有数字。但对于我的生活,我不太擅长编写循环而无法弄明白。
我只需要代码来浏览所有td.time单元格并添加数字。一旦我得到总数,我就可以处理它插入 [计算总数] 点。
谢谢!
答案 0 :(得分:1)
选择元素,并使用each
方法循环它们:
var tot = 0;
$('td.time').each(function(){
tot += parseFloat($(this).text());
});
答案 1 :(得分:0)
您可以使用:nth-child(2n)
浏览所有表格行的第二项......
var total = 0.0;
$('table tr td:nth-child(2n)').each(function(){
val = parseFloat($(this).html());
if (val > 0)total += val;
});
$('#result').html(total);
或者由于您的时间列是相同的类,您甚至可以......
var total = 0.0;
$('.time').each(function(){
val = parseFloat($(this).html());
if (val > 0)total += val;
});
$('#result').html(total);
答案 2 :(得分:0)
如果您的表格有id =“TestTable”且总时间ID =“total_time”的TD则
var total = 0;
$('#TestTable td.time').each(function(index) {
total = total + parseFloat(this.html());
});
$('#total_time').html(total);
答案 3 :(得分:0)
$('td[class*="time"]')
如果我是正确的话,这会选择所有带有“时间”类的TD标签 也许那就是你想要用的东西?