javascript - .detach().sort().appendTo() 在 Safari 移动设备上不起作用

标签 javascript jquery html

以下代码不适用于 Safari 移动版:

$("#button").click(function() {
    $("fieldset").each(function() {
        $(this).children(".input").detach().sort(function(a, b) {
            return $(a).attr("data-sort") < $(b).attr("data-sort");
        }).appendTo(this);
    });
});

html 看起来有点像这样:

<fieldset>
    <span class='input' data-sort='3'><input>.....</input></span>
    <span class='input' data-sort='1'><input>.....</input></span>
    <span class='input' data-sort='2'><input>.....</input></span>
</fieldset>

它在桌面上运行得很好。对发生的事情有什么想法吗?

最佳答案

已修复。 .sort() 的回调函数设计得很糟糕。

$("#button").click(function() {
    $("fieldset").each(function() {
        $(this).children(".input").detach().sort(function(a, b) {
            var contentA =parseInt( $(a).attr('data-sort'));
            var contentB =parseInt( $(b).attr('data-sort'));
            return (contentA < contentB) ? -1 : (contentA > contentB) ? 1 : 0;
        }).appendTo(this);
    });
});

关于javascript - .detach().sort().appendTo() 在 Safari 移动设备上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42928872/

相关文章:

javascript - 使用 Ajax HTML 输出的分页被破坏

php - 随着目标集的增长,循环哈希能否保持一致?

javascript - 添加到 DOM 的内容是否计入页面总加载时间?

javascript - 分别循环遍历 jQuery 元素并在页面滚动上设置动画

jquery - (document).ready(function () 没有运行函数

javascript - 多次点击时显示多张图像

jquery - 使用 jQuery 获取嵌套数据属性

javascript - 选项标签的宽度

javascript - 必填字段验证在 JQuery Popup MVC 4 中不起作用

javascript - jQuery 函数不会在第一次点击时触发