javascript - 按 id 值对 li 进行排序

标签 javascript jquery

单击排序按钮后,我需要使用 LI 标记的 ID 值对列表进行升序或降序排序。如果是升序,则必须按降序排序,反之亦然。

例如:

 <ul id="place-list">
      <li id="0">Paris</li>
      <li id="1">greece</li>
      <li id="2">London</li>
 </ul>

我需要在不使用 jQuery-tinysort 中的 tsort 函数的情况下对其进行排序。 我怎样才能做到这一点?

最佳答案

不需要时不要使用 jQuery。

function sortList() {
    sortList.direction = sortList.direction ? false : true;
    var arr = [], list = document.getElementById('place-list'),
        c = list.children, l = c.length, i;
    for(i=0; i<l; i++) arr[i] = c[i]; // "convert" NodeList to array
    arr.sort(function(a,b) {return a.id < b.id ? -1 : 1;}); //sorting function ends here.
    if( !sortList.direction) arr = arr.reverse();
    for(i=0; i<l; i++) list.appendChild(arr[i]);
};

关于javascript - 按 id 值对 li 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14542203/

相关文章:

javascript - jQuery 将新月类添加到 div 内的元素

javascript - 单击 div 元素,Ajax 提交联系表单 7 表单

javascript - 如何在 zclip 插件中使用 live 方法?

javascript - 如何在另一个 html 文件中导入 html,例如 php include() 函数

javascript - 使用 Javascript 创建一颗星星并指定背景颜色

php - 我有一个登录表单,其中有一个单击 Enter 键提交表单的事件,它在 IE 中不起作用

javascript - 单击按钮时选择所有复选框

javascript - 使用 jQuery 检测 Safari

jquery - Bootstrap 选项卡后面的 ParamQuery 网格 - 如何设置网格的最小大小?

javascript - 一旦错误重新加载页面,Javascript 是否会导致我的表单无法回显所选内容?