Я создаю редактор электронных таблиц с 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()
будет быстрее? Любые другие идеи?
Я использую Chromium на Ubuntu. (Версия 28.0.1500.52 Ubuntu 12.04)
Выглядит интересно, но я немного смущен синтаксисом !? не должно быть точки с запятой после определения класса? – schmidtphil
Хм, слишком плохо. при таком подходе он занимает еще больше времени. – schmidtphil