2016-08-30 26 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)); 
    }); 
} 

但是,我不能对数据进行排序,名字这个代码,因为是我想一想,一个字符串变量。那么你知道如何让代码有效吗?

感谢

回答

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未经测试。我认为这应该工作。小心和大写小心