javascript - 关于使用 jQuery 对 HTML DOM 进行排序的问题
问题描述
我有下面的代码可以完美地对 DOM 进行排序。
HTML:
<ul id="list">
<li data-order="7"></li>
<li data-order="6"></li>
<li data-order="5"></li>
<li data-order="3"></li>
<li data-order="4"></li>
<li data-order="1"></li>
<li data-order="2"></li>
</ul>
<button>Sort</button>
CSS
li::before {
content: attr(data-order);
display: block;
}
带有 jQuery 的 Javascript:
const sortList = function(a, b) {
return (+a.dataset.order) - (+b.dataset.order) > 0 ? 1: - 1;
};
$('button').click(() => {
$('#list li').sort(sortList).appendTo('#list');
});
或者您可以在 codepen 上查看: https ://codepen.io/EdmondWang/pen/pozeyXb
我有 2 个问题。
1. 为什么调用排序函数后浏览器不重新布局DOM?
2. 为什么appendTo()
需要进行排序工作?(即使没有分离)
提前感谢您的帮助!
解决方案
推荐阅读
- .htaccess - 我想用 htaccess 重写 url
- xamarin.forms - 权限弹出窗口在 xamarin.forms ios 中一次显示
- html - 电子邮件html没有在移动设备上拉伸表格全宽
- python - Python:将函数应用于numpy 3d数组中的每个条目
- c++ - 将对象的值移动到另一个但避免复制
- angular - 找不到管道“翻译”错误在 Ionic 4 中显示
- android - Android 使用 NDK 录制通话
- c# - 未知的压缩方法
- selenium-webdriver - 需要帮助从现有功能文件运行场景
- angular - p-dialog onHide 不适用于 ngIf?