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

时间:2013-12-01 13:46:48

标签: 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' );
});

但仅当data-title是数值时才有效。我需要能够使用字母&号。

以下是我正在使用的演示:http://jsfiddle.net/XKy9Z/

1 个答案:

答案 0 :(得分:1)

要按字母顺序对其进行排序,您可以使用以下代码段:

$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;
})

DEMO