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
的值的总和,并使用id
col2total
将总和添加到
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); 
});