用累加器遍历jQuery对象?

酒吧酒吧

我正在使用$ .each遍历对象的集合,并将每个对象的预定义属性附加到页面。这样很好。

$(myObjects).each(function(i) {
    var element = $("<tr>").appendTo(tableBody);
    $("<td>").append(this.unitCount).appendTo(element);
});

我要附加的值是一个数字。我想在累加器中跟踪这些值,然后将总计返回给其他地方使用。像这样:

var total = 0;
$(myObjects).each(function(i) {
    var element = $("<tr>").appendTo(tableBody);
    $("<td>").append(this.unitCount).appendTo(element);
    var total = total + this.unitCount;
});

问题在于,由于$(myObjects)是对象的集合,因此在循环内部无法识别累加器变量total。(当我在循环开始后立即调用console.log(total)时,将识别内部的值)。我想使用一个循环将值附加到页面上,并跟踪总数。这可能吗?

罗科·C·布尔扬

在each或for循环中创建元素的速度非常慢,而是构造HTML字符串表示形式。完成数据循环后将其追加:

jsBin演示

var TR = "";
var total = 0;

$.each(myObjects, function() {
   var uc = this.unitCount;
   TR += "<tr><td>"+ uc +"</td></tr>";
   total += uc;
});

tableBody.append(TR).append("<tr><td>TOTAL: "+ total +"</td></td>");

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章