rows.sort - это не функция, где rows - это массив элементов tr - PullRequest
1 голос
/ 17 ноября 2010

Я пытаюсь выполнить сортировку статической таблицы с помощью плагина FlexQrid jQuery.Версия файла r3 требует применения некоторых исправлений, чтобы сортировка работала для уже существующих таблиц, и из одного из исправлений, которые я нашел в Интернете, я получил этот пример кода, который не смог сделать работоспособным.Этот код доставляет мне некоторые проблемы.

var rows = $(this.bDiv).find('tr');
rows.sort(function(a, b) {
                    var compA = $(a).find("td:eq("+col+")").text();
                    var compB = $(b).find("td:eq("+col+")").text();
                    if (p.sortorder=="asc")
                        orderby = 1;
                    return (compA > compB) ? -orderby : 0;
                });

Ошибка, которую я получаю, rows.sort не является функцией .Я посмотрел на функцию сортировки, и да, она может сортировать массивы в алфавитном порядке. строк является массивом tr объектов.Любой обходной путь для этого?

1 Ответ

2 голосов
/ 17 ноября 2010

find () возвращает объект jQuery, а не массив элементов.Вам нужно вызвать get () для этого объекта:

var rows = $(this.bDiv).find("tr").get();
...