我正在用jQuery構建一個電子表格編輯器,並遇到大表的性能問題。 該表包含許多數據集,當單擊一個時,圖標將添加到其他集的第一個單元格中。代碼如下所示: 如何提高附加圖標的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)
看起來很有趣,但我對語法有點困惑!? _class定義之後不應該有分號嗎? – schmidtphil
嗯,太糟糕了。採用這種方法需要更長的時間。使用'.css('visibility','visible'); – schmidtphil