2017-08-11 54 views
1

我根據數據屬性值縮短了div。我現有的代碼在Firefox上運行良好,但它不適用於Chrome瀏覽器。Jquery排序功能在Chrome瀏覽器上不起作用

這裏是我的代碼:

$('select#shorting-job').change(function(e) { 
      var $list = $('.adsence-right'); 
      var $productList = $('div.show-jobs-in-right',$list); 
      $productList.sort(function(a, b){ 
       var keyA = $(a).attr("data-salary"); 
       var keyB = $(b).attr("data-salary"); 
       if($('#shorting-job').val()=='Salary'){ 
        return false; 
       }else if($('#shorting-job').val()=='asc'){ 
        return (parseInt(keyA) > parseInt(keyB)) ? 1 : 0; 
       } else { 
        return (parseInt(keyA) < parseInt(keyB)) ? 1 : 0; 
       } 
      }); 
      $.each($productList, function(index, row){ 
       $list.append(row); 
      }); 
      e.preventDefault(); 
    }); 

回答

1

您需要返回對稱的結果爲上升及使用該負值以及降序排序。

您可以使用您擁有的值並返回它的增量。

return keyA - keyB; 

降序排序,你可能會反向減法

return keyB - keyA; 

的順序在兩種情況下的值轉換爲數字,因爲使用減號和implicid鑄件數量。

在不同瀏覽器中獲得不同結果的主要原因是,如果順序並非真的不同,則可能會得到不穩定的結果,因爲Array#sort不穩定。

相關問題