javascript - 基于“data-”属性的 JQuery 对 div 进行排序
问题描述
我正在尝试根据它的data-enter属性使用 jquery 对 div 进行排序。这是我的 JQuery:
let result = $("#tableEls .dataDiv").sort(function (a, b) {
console.log(+$(a).data("enter") + " < " + +$(b).data("enter"));
return +$(a).data("enter") < +$(b).data("enter");
}).appendTo("#tableEls");
console.log(result);
但是,当它被调用时,它不会重新排序 div。这是div:
此外,这是控制台输出:
我在 StackOverflow 上尝试了许多不同的解决方案,但找不到任何适合我的解决方案。我不确定我是否做错了什么,但我看不出有什么问题。
此外,这是 HTML 页面本身的屏幕截图,其中四个 div 中的每一个都用黑色边框勾勒出来:
单击Sort Rows按钮时,从每个表中输入单元格并将其添加为每个 div 的data-enter属性,然后再从上面运行 JQuery。所以在这个例子中,第一个和第二个 div 的位置应该交换。
解决方案
您的排序函数必须返回 N 或 -N 或 0 而不是布尔值:
let result = $("#tableEls .dataDiv").sort(function (a, b) {
console.log(+$(a).data("enter") + " - " + +$(b).data("enter"));
return +$(a).data("enter") - +$(b).data("enter");
}).appendTo("#tableEls");
console.log(result);
推荐阅读
- python - 逻辑回归中目标集的“输入形状错误”
- .net-core - SignalR 集成测试不适用于 3.0
- python - 正则表达式:查找以 * 或?
- flutter - (颤抖)我遇到了这个问题: throw UnimplementedError();
- java - 我如何在这里实现泛型?
- javascript - 如何在不刷新页面的情况下更新输入值
- github - 如何链接 github 操作工作流
- python - 使用多个文件夹时出现 ModuleNotFoundError
- sql-server - Azure SQL DB - 如何创建全局变量?
- node.js - 如何在 NodeJS 中设置 ffmpeg 中心裁剪过滤器?