簡體   English   中英

用累加器遍歷jQuery對象?

[英]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字符串表示形式,這相當慢。 完成數據循環后將其追加:

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>");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM