按照Array的顺序对li项进行排序

时间:2014-05-01 13:42:42

标签: javascript jquery arrays html-lists

如果我有无序列表:

<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]

有没有办法按照与数组相同的顺序对上面的列表进行排序。 (数组不是按时间顺序排列的,仅用于解释目的)。

感谢。

2 个答案:

答案 0 :(得分:5)

一种可能的jQuery解决方案:

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

DEMO: http://jsfiddle.net/8FR8V/

答案 1 :(得分:0)

我会推荐像下划线这样的库来实现这样的功能。它们小巧,快速,非常实用!

下划线排序功能:http://underscorejs.org/#sortBy