颠倒元素的顺序

时间:2009-11-06 16:32:16

标签: javascript jquery algorithm sorting

以下代码按属性“amount”重新排列元素。如何更改此代码以使项目反转?感谢。

var parent = $('#items');
var children = $('a', parent);
children.sort(function(a, b) {
    return parseInt($(a).attr('amount')) - parseInt($(b).attr('amount'));
})

$.each(children, function(i, child) {
    parent.append(child);
});

4 个答案:

答案 0 :(得分:2)

更改您要比较的值的顺序(b-a而不是a-b):

var children = $('a', parent).sort(function(a, b) {
    return parseInt($(b).attr('amount'), 10) - parseInt($(a).attr('amount'), 10);
});

答案 1 :(得分:1)

使用prepend而不是append?

http://docs.jquery.com/Manipulation/prepend#content

答案 2 :(得分:1)

我使用过这种技术。它是小型系列的理想选择。

jQuery.fn.reverse = function() {
   return this.pushStack(this.get().reverse(), arguments);
};

var r = $('.class').reverse();

答案 3 :(得分:0)

children.sort(function(a, b) {
    return parseInt($(a).attr('amount')) < parseInt($(b).attr('amount')) ? 0 : 1;
});