[英]Iterating over jquery objects with accumulator?
我正在使用$ .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>");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.