Javascript 按数组顺序对li项进行排序

Javascript 按数组顺序对li项进行排序,javascript,jquery,arrays,html-lists,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> 是否有方法按照与数组相同的顺序对上述列表进行排序。(数组并不总是按时间顺序排列的,这

如果我有一个无序列表:

<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>
是否有方法按照与数组相同的顺序对上述列表进行排序。(数组并不总是按时间顺序排列的,这只是为了解释)


谢谢。

一个可能的jQuery解决方案:

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

演示:

一个可能的jQuery解决方案:

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

演示:

我建议使用类似下划线的库来实现这样的功能。它们体积小,速度快,非常有用


下划线排序功能:

我建议使用类似下划线的库来实现这种功能。它们体积小,速度快,非常有用

下划线排序功能: