3

我有一个按价格 ASC 和 DESC 对 div 进行排序的功能。但它不适用于 Safari。在 Firefox/Chrome 上没问题。

什么原因?

代码(和小提琴版本):

  function sortByPrice(a,b){
      return $(a).find('.cicerone_price').text() > $(b).find('.cicerone_price').text();
  }

  function sortByPriceDesc(a,b){
     return $(a).find('.cicerone_price').text() < $(b).find('.cicerone_price').text();
  }

  function reorderEl(el){
      var container = $('#tabs');
      container.html('');
      el.each(function(){
          $(this).appendTo(container);
      });
  }
  $('#filter_price').change(function(){
      if ($("#filter_price option:selected").val()=='desc'){ 
          reorderEl($('.global_product').sort(sortByPriceDesc));
         } else if ($("#filter_price option:selected").val()=='asc'){ 
            reorderEl($('.global_product').sort(sortByPrice));
            }
  });
4

1 回答 1

2

问题已解决,对于解决方案,我添加 parseFloat 为小数

解决方案在这里:小提琴校正

function sortByPrice(a,b){
    return parseFloat($(a).find('.productPriceForSorting').text()) > parseFloat($(b).find('.productPriceForSorting').text()) ? 1 : -1;
}
于 2013-04-10T14:54:27.827 回答