在写一个计算Table某列的值。大体代码如下:
function calTableSum(selector,colnum) {
var total = 0;
if(true !== $("#costlists tbody .nodata").exist()){
var trs = $(selector).find("tr");
$.each(trs,function () {
console.log($(this).find('td:eq(colnum)').text());
total += parseFloat($(this).find('td:eq(colnum)').text());
})
}
return total;
}
遇到问题是each循环的回调函数不能访问到column参数。我知道在PHP语言时可以使用use关键字来引入外部变量,不知道这种情况下JQ或JS该怎么引入外部变量。
问题已经解决,分享下完整代码。
使用示例:
计算<table id="costlists">中第三列的值。(索引比我们实际查的列数少1,索引从0开始计数)
exist()方法为JQuery扩展方法,主要判断DOM是否存在,这里主要判断table是否有数据。扩展方法: