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

时间:2017-03-21 13:41:26

标签: javascript jquery html

以下代码在Safari mobile上不起作用:

$("#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>

它在桌面上运行得很好。关于什么事情的任何想法?

1 个答案:

答案 0 :(得分:0)

修正了它。 .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);
    });
});