javascript - 根据数字 Id 对 li 标签进行排序

标签 javascript jquery

我看过其他排序示例。但我无法将它们应用到我的网站。

我的代码是这样的。

<ul class="selectable" id="third">
<li id="0">John</li>
<li id="0">Tom</li>
<li id="30.00">Petar</li>
<li id="100">Johnson</li>
<li id="33.00">Jackson</li>
<li id="0">Jack</li>
<li id="10.0">Allen</li>
</ul>

我如何根据他们的 li id 标签对它们进行排序?

修改:如果我输入标题而不是 id,我如何根据标题对它们进行排序?

最佳答案

id 应该是唯一的,所以使用自定义 data-* 属性。您可以使用原生 javascript sort() 进行排序。

$('.selectable li').sort(function(a, b) {
// get list items
  return $(a).data('id') - $(b).data('id');
  // compare values
}).appendTo('.selectable');
// update sorted dom elements
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul class="selectable" id="third">
  <li data-id="0">John</li>
  <li data-id="0">Tom</li>
  <li data-id="30.00">Petar</li>
  <li data-id="100">Johnson</li>
  <li data-id="33.00">Jackson</li>
  <li data-id="0">Jack</li>
  <li data-id="10.0">Allen</li>
</ul>

关于javascript - 根据数字 Id 对 li 标签进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33013639/

相关文章:

javascript canvas 不完美的裁剪

javascript - Auth0 - 禁用用户配置文件缓存

javascript - 如何在TinyMCE上创建选择按钮?

javascript - 如何将 URL 查询参数获取到对象文字中?

jquery - 请帮助我在我的网站(CSS 或 JQuery)中实现此效果

javascript - HTML5 动态创建 Canvas

javascript - 动画仅适用于第一次单击按钮

javascript - 显示本地存储中的数组值

javascript - 如何限制 closest() 只遍历一行

javascript - 在悬停时显示具有模糊/渐变边缘的图像部分