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

mat*_*ead 0 javascript arrays jquery 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>
Run Code Online (Sandbox Code Playgroud)

和一个数组:

[a,b,c,d]
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

Vis*_*ioN 5

一个可能的jQuery解决方案:

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

演示: http ://jsfiddle.net/8FR8V/