Шаг 122.
Библиотека jQuery. Работа с таблицами. Сортировка и разбивка на страницы. Сортировка с помощью JavaScript. Проблемы производительности (окончание)

    На этом шаге мы рассмотрим использование методов .data() и .removeData().

    Библиотека jQuery предоставляет альтернативный использованию расширенных свойств механизм хранения данных, который мы можем применять. Метод .data() записывает или возвращает произвольную информацию, ассоциированную с элементами страницы, а метод .rеmoveData() уничтожает информацию, сохранявшуюся ранее:

  $.each(rows, function(index, row) { 
    $(row).data('sortKey', $(row).children('td') 
      .eq(column).text().toUpperCase());
  });
  rows.sort(function(a, b) {
    if ($(a).data('sortKey') < $(b).data('sortKey')) return -1; 
    if ($(a).data('sortKey') > $(b).data('sortKey')) return 1; 
    return 0;
  });
  $.each(rows, function(index, row) { 
    $table.children('tbody').append(row); 
    $(row).removeData('sortKey');
  });

Рис.1. Еще одно изменение функции сортировки

Полный текст этого примера можно взять здесь.

    Иногда бывает удобнее применять метод .data() вместо расширенных свойств, поскольку нам чаще приходится работать с объектами jQuery, а не с узлами дерева DOM. Кроме того, это позволяет избежать потенциальных проблем, связанных с утечками памяти в Internet Explorer. Однако далее в нашем примере мы продолжим использовать расширенные свойства, чтобы попрактиковаться в переходе от операций над узлами дерева DOM к операциям над объектами jQuery.

    На следующем шаге мы рассмотрим особенности ключей сортировки.




Предыдущий шаг Содержание Следующий шаг