JavaScript 通过一些比较器对 DOM 元素进行排序,没有 jQuery

标签 javascript dom dom-manipulation

想象一些 DOM 元素:

<ul id="list">
  <li data-index="3">Baz</li>
  <li data-index="1">Foo</li>
  <li data-index="2">Bar</li>
</ul>

如果不使用 jQuery,如何使用 JavaScript 对这些元素进行排序?

类似于:

document.getElementById('list').sort(function(li) { return li.dataset.index; });

最佳答案

您应该使用弹性盒的排序功能。这将允许重新排序元素,而无需在 DOM 中四处移动它们。这涉及设置 CSS order 属性。

参见 https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Flexible_boxes了解更多详情。

关于JavaScript 通过一些比较器对 DOM 元素进行排序,没有 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24342242/

相关文章:

javascript - 提交jquery生成的表单

javascript - 将运营转换库与 Meteor 集成

javascript - 操作 DOM 时究竟更新了什么

html - 哪些 DOM 元素不是 HTML 元素?

javascript - jQuery 库代码

javascript - 从对象动态创建 JQuery Mobile 页面

JavaScript element.prepend 与 element.insertAdjacentElement

javascript - Angular2 缓存 HTTP 响应的最简单方法

javascript - 无法使用 Angular.js 从表中删除预期的行

javascript - 如何使用 jQuery 添加 DOM 元素?