Javascript 如何按LI排序UL列表';s数据标题参数?

Javascript 如何按LI排序UL列表';s数据标题参数?,javascript,jquery,html,sorting,Javascript,Jquery,Html,Sorting,我有以下HTML代码: <ul id="mylist"> <li data-title="a">A</li> <li data-title="x">X <a href="...">blah</a></li> <li data-title="b">3</li> <li data-title="f">moo</li> <li

我有以下HTML代码:

<ul id="mylist">
    <li data-title="a">A</li>
    <li data-title="x">X <a href="...">blah</a></li>
    <li data-title="b">3</li>
    <li data-title="f">moo</li>
    <li data-title="m">foo</li>
</ul>
  • a
  • x
  • 3
  • moo
  • foo

如何使用
jQuery
按数据标题参数对该
列表进行排序?我发现了很多关于按LI的内容对UL排序的问题,但它们没有帮助。

您可以使用JavaScript本机函数进行排序

//缓存变量中的ul和li对象
var$list=$(“#mylist”),
$li=$list.children('li');
//根据数据标题值使用sort()对列表项进行排序
$li.sort(函数(a,b){
//使用getAttribute()从dom对象获取数据标题属性
var a1=a.getAttribute('data-title'),
b1=b.getAttribute(“数据标题”);
//比较用于排序的值
//返回a1>b1 | 0;
//比较用于排序的值
如果(a1>b1){
返回1;
}
如果(a1<>b1){
返回-1;
}
返回| | 0;
});
//更新已排序的顺序已排序的顺序
$li.附于($list)

  • a
  • x
  • 3
  • moo
  • foo

@lshettyl:谢谢您的建议,更新的答案:)无需分离和附加。只有追加才行<代码>$list.append($li)