如何使用jquery高效更新大表

时间:2014-08-28 10:06:42

标签: javascript html performance

我有这个代码示例,用于更新html表中的单元格。

    for (var i = 0; i < o.Rows.length; i++) {
        var row = $("tr").filter("[data-id='" + o.Rows[i].Id + "']");
        row.find("td:eq(3)").text(o.Rows[i].Status);
        row.find("td:eq(4)").text(o.Rows[i].Date);
    }

如果o.Rows.length为100 000,执行此代码示例需要很长时间。有没有更有效的方法来执行此操作?

1 个答案:

答案 0 :(得分:0)

你可能不应该有一个包含100,000行的表,但是......

你可以通过提前查询所有内容来加快速度:

var trs = $('tr');

for (var i = 0, l = o.Rows.length; i < l; i++) {
  var tr = trs.eq(i);
  var o = o.Rows[i];
  tr.find('td:first').html(o.Status).next().html(o.Date);
}

这是一个jsperf,显示在100行:http://jsperf.com/table-update/2