【问题标题】:jquery sort string datajquery排序字符串数据
【发布时间】:2017-01-06 13:16:33
【问题描述】:

我必须对一些数据属性进行排序。像这样:

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

但是,我不能使用此代码对数据名称进行排序,因为我认为它是一个字符串变量。那么你知道如何使该代码有效吗?

谢谢

【问题讨论】:

    标签: jquery string sorting custom-data-attribute


    【解决方案1】:
    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));
    });
    

    代码未测试。我认为这应该有效。注意小写和大写

    【讨论】:

      猜你喜欢
      • 2019-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-04
      • 2013-03-11
      • 1970-01-01
      • 1970-01-01
      • 2014-07-11
      相关资源
      最近更新 更多