重新排序li元素的jQuery"可排序"问题

BVS*_*man 2 javascript java jquery html-lists jquery-ui-sortable

我已经建立了使用jQuery UI的排序功能,可排序列表,但我需要能够重新排序,这是工作的罚款<li>在这取决于包含元素的顺序的一串开始,但我不能找出语法如何用JavaScript做到这一点.

可以说我有以下内容:

<ul>
   <li id="A" >Apple</li>
   <li id="B" >Banana</li>
   <li id="C" >Carrot</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

和字符串"C,A,B"

我想有一个JavaScript函数来重新排序我的内部项目,其中基于字符串顺序的排序.结束这个:

 <ul>
   <li id="C" >Carrot</li>
   <li id="A" >Apple</li>
   <li id="B" >Banana</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我将自然地将字符串拆分为","并最终得到一个元素Id的数组,但我不确定这里有两个主要的东西.

1)获取指定Id在我的拆分字符串数组中找到的元素的最佳方法是什么?

2)一旦我获得了该元素并确定它是正确的元素,将它们按正确顺序放置的语法或最佳策略是什么?

ale*_*lex 5

这应该回答(1)和(2).

您可以在,分隔符上拆分字符串以获取数组,然后循环更改li元素的顺序.

var order = 'C,A,B'.split(','),
    ul = $('ul');

$.each(order, function(index, sort) {
    $('#' + sort).appendTo(ul);
});
Run Code Online (Sandbox Code Playgroud)

jsFiddle.