Сортировка элементов li в порядке массива

0

Если у меня есть неупорядоченный список:

<ul>
 <li data-sort-name="a">A</li>
 <li data-sort-name="d">D</li>
 <li data-sort-name="b">B</li>
 <li data-sort-name="c">C</li>
</ul>

и массив:

[a,b,c,d]

Есть ли способ отсортировать вышеуказанный список в том же порядке, что и массив. (Массив не всегда хронологический, это просто для объяснения целей).

Благодарю.

Теги:
arrays
html-lists

2 ответа

5

Одно из возможных решений jQuery:

$.each(['a', 'b', 'c', 'd'], function(i, v) {
    $('li[data-sort-name="' + v + '"]').appendTo('ul');
});

ДЕМО: http://jsfiddle.net/8FR8V/

0

Я бы рекомендовал такую библиотеку, как подчеркивание, для такой функции. Они маленькие, быстрые и очень полезные!

Функция сортировки подчёркивания: http://underscorejs.org/#sortBy

Ещё вопросы

Сообщество Overcoder
Наверх
Меню