Javascript 具有类的所有元素的值之和,第一个元素除外
我使用一个引导表来显示一组数据,并希望在数据加载JSON后对一列进行汇总。我想用Javascript进行求和,这样当我对表应用过滤器时,值就会更新(请参阅此处的过滤器扩展以获取示例。我目前正试图用jQuery each()进行此操作)函数,方法是选择一个已应用于列中每个单元格的类,从每个元素获取值并将其求和为变量 以前有人用引导表做过吗 以下是我目前拥有的(最后返回NaN): 这很有效--Javascript 具有类的所有元素的值之和,第一个元素除外,javascript,twitter-bootstrap,Javascript,Twitter Bootstrap,我使用一个引导表来显示一组数据,并希望在数据加载JSON后对一列进行汇总。我想用Javascript进行求和,这样当我对表应用过滤器时,值就会更新(请参阅此处的过滤器扩展以获取示例。我目前正试图用jQuery each()进行此操作)函数,方法是选择一个已应用于列中每个单元格的类,从每个元素获取值并将其求和为变量 以前有人用引导表做过吗 以下是我目前拥有的(最后返回NaN): 这很有效-- 您的执行顺序有问题。JS将同时运行这两个块。您可以按如下同步执行: var sum = 0; $('.re
您的执行顺序有问题。JS将同时运行这两个块。您可以按如下同步执行:
var sum = 0;
$('.revenue').each(function(index, value) {
//Remove the first "header element from sum
if(index !== 0) {
sum += parseInt($(this).html(), 10);
}
//Remove the class if you still need to
else {
$(this).removeClass('revenue');
}
});
console.log(sum);
这是一把小提琴:
或者,您可以使用一些疯狂的回调魔法来实现这一点。您可以使用它过滤掉第一个元素:
var sum = 0;
$('.revenue').not(':first').each(function(){
sum += parseInt($(this).val());
});
var sum = 0;
$('.revenue').each(function(index, value) {
//Remove the first "header element from sum
if(index !== 0) {
sum += parseInt($(this).html(), 10);
}
//Remove the class if you still need to
else {
$(this).removeClass('revenue');
}
});
console.log(sum);
var sum = 0;
$('.revenue').not(':first').each(function(){
sum += parseInt($(this).val());
});