Jquery 按字母数字数据属性的值对元素排序

Jquery 按字母数字数据属性的值对元素排序,jquery,Jquery,我正在尝试使用以下方法对我的内容进行排序: $(window).load(function(){ var $wrapper = $('.product-list'); $wrapper.find('.product').sort(function (a, b) { return +a.getAttribute('data-title') - +b.getAttribute('data-title'); }) .appendTo( 'body' ); }); 但它仅在数据标题为数值时有

我正在尝试使用以下方法对我的内容进行排序:

$(window).load(function(){
var $wrapper = $('.product-list');

$wrapper.find('.product').sort(function (a, b) {
    return +a.getAttribute('data-title') - +b.getAttribute('data-title');
})
.appendTo( 'body' );
});
但它仅在
数据标题
为数值时有效。我需要能够使用字母和数字


下面是我使用的示例:

要按字母顺序排序,可以使用以下代码段:

$wrapper.find('.product').sort(function (a, b) {
    return (a.getAttribute('data-title') < b.getAttribute('data-title')) ? -1 : (a.getAttribute('data-title') > b.getAttribute('data-title')) ? 1 : 0;
})
$wrapper.find('.product').sort(函数(a,b){
返回(a.getAttribute('data-title')b.getAttribute('data-title'))?1:0;
})

+1,我更喜欢这个。这正是我想要的,而不是你。我在这方面遇到了很多麻烦。大卫,也谢谢你抽出时间。我把这个有用的问题投了更高的票,让它回到“0”——为什么投了更低的票?