我正在使用 jQuery 构建电子表格编辑器,但遇到大表的性能问题。该表包含许多数据集,当单击一个时,图标将添加到其他数据集的第一个单元格中。代码如下所示:
$('.click_icon').remove();
for (var i = 0; i < datasets.length; i++) {
var first_cell = $('td.content[dataset="' + datasets[i].id + '"]').filter(':first');
if (in_group(datasets[i].id)) {
first_cell.append('<i class="icon-remove click_icon remove_group" style="float:right"></i>');
} else {
first_cell.append('<i class="icon-magnet click_icon add_group" style="float:right"></i>');
}
对于 500 多个数据集,这大约需要 5 秒。in_group()
只是一个小功能,用于检查该集合是否与所选数据集在一个组中。
我想知道在单击和使用之前创建图标show() hide()
是否会更快?还有其他想法吗?
我在 Ubuntu 上使用 Chromium。(版本 28.0.1500.52 Ubuntu 12.04)