Как найти и отсортировать коллекцию li с помощью jquery? - PullRequest
0 голосов
/ 17 мая 2010

я получил несколько li, которые я хотел бы отсортировать и найти с помощью jquery.

Я нашел http://plugins.jquery.com/project/TinySort сортировать вещи и Быстрый поиск по большому списку с помощью jQuery для поиска по li.

Есть ли хороший плагин, который может обрабатывать обе вещи (поиск + сортировка) или есть способ объединить два решения по ссылкам выше?

edit: короче, я ищу что-то вроде этого http://www.datatables.net/,, но вместо таблицы он должен работать на ul с li's

Спасибо!

Ответы [ 2 ]

1 голос
/ 17 мая 2010

Возможно, самым простым способом было бы перебрать все элементы LI и назначить их массиву, который вы затем сортируете:

var output = [];
$("LI.myclass").each(function()
{
    // Assumes your sort criteria is a numeric something in a class name.
    var res = $(this).attr("class").match(/\bmysome(\d+)\b/);
    if (!res) continue;
    output[res[1]] = this;
});

// output now contains all the LIs with numeric indexes according to your search
// criteria - sort them!
output.sort();

// Assign the LIs
$("UL#mylist").html("").append(output);
1 голос
/ 17 мая 2010

Ну, я всегда предпочитаю делать такие вещи в своем собственном коде из-за слишком большой разницы.

Хорошим началом будет удержание всех ваших объектов LI в массиве (который уже владеет некоторыми простыми методами сортировки).

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

var li_elements = [];
for(var i = 0; i < 10; i++){
    var exampleli = $('<li/>', {text: 'I am an example', id: 'id'+i});
    li_elements.push(exampleli);
}

Теперь вы можете сортировать / искать / удалять и, наконец, добавлять эти li в элемент UL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...