我正在寻找一种更有效的方法来生成一些 DOM 更改并更新.data()
对象。
目前,数据以对象数组的形式提供,我正在分段构建字符串,将它们附加到表格主体,并将 .data 对象添加到元素上。
这是一个快照。
for (i in data.users) {
//Build the string
var rowData = "<tr class=\"";
rowData += (i%2) ? "odd":"even";
rowData +="\">";
rowData +="<td>";
rowData +=data.users[i]["FirstName"];
rowData +="</td>";
rowData +="<td>";
rowData +=data.users[i]["LastName"];
rowData +="</td>";
rowData +="<td>";
rowData +=data.users[i]["UserName"];
rowData +="</td>";
//Could be many more columns
rowData +="</tr>";
//Change the DOM, add to the data object.
$(rowData).appendTo("#list > table > tbody").data('ID', data.users[i]["ID"]);
}
我主要对不得不操作 DOM n 次而不是对所有数据进行一次更改感到不安——或者能够像有缓冲区一样释放数据。我也想.data()
一次性更新。