利用Jquery选择器,计算table中的某一列,某一行的合计,非常方便。下面以计算行合计为例:
核心算法:
$('#tableId tr').each(function() {
$(this).find('td:eq(columnIndex)').each(function() {
totalAmount += parseFloat($(this).text());
})
Demo
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Jquery计算table行合计</title> <script id="jquery_183" type="text/javascript" class="library" src="http://runjs.cn/js/sandbox/jquery/jquery-1.8.3.min.js"></script> <script type="text/javascript"> $(document).ready(function() { var totalRow = 0 $('#mytable tr').each(function() { $(this).find('td:eq(2)').each(function(){ totalRow += parseFloat($(this).text()); }); }); $('#totalRow').append('<td>合计</td><td></td><td>'+totalRow+'</td><td></td>'); }); </script> </head> <body style="width:100%; height:100%;"> <table id="mytable" border="1" width="37%"> <thead> </thead> <tr> <td width="63" >11</td> <td width="68" >12</td> <td width="62" >13</td> <td width="75" >14</td> </tr> <tr> <td width="63" >21</td> <td width="68" >22</td> <td width="62" >23</td> <td width="75" >24</td> </tr> <tr id="totalRow"></tr> </table> </body> </html>