2016-08-30 18 views
0

データ属性をソートする必要があります。このように:jqueryソート文字列データ

<div class="container"> 
    <div class="content" data-price="50" data-name="DEF"> 
    </div> 
    <div class="content" data-price="10" data-name="ABC"> 
    </div> 
</div> 

私は、ソートの価格のため、このコードを使用し、それは非常によく動作します。ですので、私は、データ名をソートするためにこのコードを使用することはできません、

function sort_by_price(){ 
    $('.container').each(function(){ //I have more than 1 container 
     $(this).find('.content').sort(function(a, b){ 
      return +a.dataset.price - +b.dataset.price; 
     }).appendTo($(this)); 
    }); 
} 

しかし、I文字列変数と考える次に、そのコードをどのように動作させるか知っていますか?

おかげ

答えて

0
function f (a,b){ 
    // Getting the lowercase strings to avoid problems with lowercase and uppercase 
    a= a.dataset.name.toLowerCase(); 
    b= b.dataset.name.toLowerCase(); 

    if(a>b) 
     return 1; 
    else 
     return a===b?0:-1; 
} 

function sort_by_name(){ 
$('.container').each(function(){ //I have more than 1 container 
    $(this).find('.content').sort(f).appendTo($(this)); 
}); 

CODEテストされていません。私はこれがうまくいくと思います。小文字と大文字に注意してください。