我正在使用$ .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)时,将识别内部的值)。我想使用一个循环将值附加到页面上,并跟踪总数。这可能吗?
在each或for循环中创建元素的速度非常慢,而是构造HTML字符串表示形式。完成数据循环后将其追加:
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] 删除。
我来说两句