Jquery 根据班级获得td总数?
我有一个动态生成的表,如下所示:Jquery 根据班级获得td总数?,jquery,jquery-selectors,Jquery,Jquery Selectors,我有一个动态生成的表,如下所示: <table id="mytable"> <thead> <tr> <td>col1</td> <td>col2</td> <td>col3</td> </tr> </thead> <tbody>
<table id="mytable">
<thead>
<tr>
<td>col1</td>
<td>col2</td>
<td>col3</td>
</tr>
</thead>
<tbody>
<tr>
<td>col1</td>
<td class="col2">1</td>
<td class="col3">2</td>
</tr>
<tr>
<td>col1</td>
<td class="col2">7</td>
<td class="col3">4</td>
</tr>
<tr>
<td>col1</td>
<td class="col2">col2</td>
<td class="col3">col3</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>Totals</td>
<td id="col2total"></td>
<td id="col3total"></td>
</tr>
</tfoot>
</table>
可乐
可乐
可乐
可乐
1.
2.
可乐
7.
4.
可乐
可乐
可乐
总数
如何获取td
s中具有类col2
的值的总和,并使用idcol2total
将总和添加到td
?由于此表是动态生成的,我不知道在tbody
中生成了多少tr
var total = 0;
$(".col2").each(function() {
total += parseFloat('0' + $(this).text(), 10);
})
$("#col2total").text(total);
我建议:
parseFloat('0'+$(this).text(),10)
这样非数值就变成了零。@Ariel一个很好的简单方法,我已经更新了答案-谢谢。
var total = 0;
$("td.col2").each(function() {
total += parseFloat($(this).text()) || 0;
});
$("#col2total").text(total);
$(document).ready(function(){
var sum = 0;
$('.col2').each(function() {
sum += Number($(this).val());
});
$("#col2total").text(sum);
});