0

我有一个ul完整的li元素。每个li元素都有一个data-choice属性。我还有一个数组,它保存了这些元素的正确顺序(这些属性li的索引数组。data-choice

例子:

["5123ee904210a6ad0d00001c", "5123ee904210a6ad0d00001b", "5123ee904210a6ad0d00001a", "5123ee904210a6ad0d000019"]

如何根据该数组重新排序列表?

我想出了这个,但只是想我会分享解决方案

4

1 回答 1

1
        var order = ["5123ee904210a6ad0d00001c", "5123ee904210a6ad0d00001b", "5123ee904210a6ad0d00001a", "5123ee904210a6ad0d000019"]
        $elems = this.$('.sorting-question li').remove();

        $elems.sort(function(a, b){
            var a_i = order.indexOf($(a).data('choice'));
            var b_i = order.indexOf($(b).data('choice'));
            return a_i > b_i;
        });

        this.$('.sorting-question').append($elems);
于 2013-02-20T00:31:23.980 回答