【发布时间】:2013-07-19 22:24:37
【问题描述】:
我有一个正在显示的用户列表。我的问题是,如何按字母顺序对它们进行排序,但要按在线状态分组。
基本上我希望首先显示在线用户,其次是离开的用户,最后显示离线用户。我希望按字母顺序对这些组中的每一个进行排序。我的用户列表如下所示:
<ul>
<li data-uid="x" data-status="away">John</li>
<li data-uid="x" data-status="online">Tom</li>
<li data-uid="x" data-status="online">Mary</li>
<li data-uid="x" data-status="offline">Xiang</li>
<li data-uid="x" data-status="away">Chris</li>
<li data-uid="x" data-status="offline">Peter</li>
<li data-uid="x" data-status="online">Matt</li>
</ul>
我希望它们像这样排序:
<ul>
<li data-uid="x" data-status="online">Mary</li>
<li data-uid="x" data-status="online">Matt</li>
<li data-uid="x" data-status="online">Tom</li>
<li data-uid="x" data-status="away">Chris</li>
<li data-uid="x" data-status="away">John</li>
<li data-uid="x" data-status="offline">Peter</li>
<li data-uid="x" data-status="offline">Xiang</li>
</ul>
我尝试使用this 答案作为我的起点,但我无法将它们分组排序..
谢谢
编辑:
另外,我正在使用 ajax 获取实时状态更新。我不确定这会如何影响功能,但也许以后可以只针对特定用户并相应地移动他?..
【问题讨论】:
-
只需连接数据状态和 li.innerText 并对其进行排序。简单...
标签: javascript jquery sorting