以下代码按属性“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);
});
答案 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?
答案 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;
});