Function jQuery函数没有';我不在野生动物园工作

Function jQuery函数没有';我不在野生动物园工作,function,sorting,safari,Function,Sorting,Safari,我有一个按价格ASC和DESC排序div的函数,但它在Safari上不起作用。 在Firefox/Chrome上也可以 原因是什么 代码(和版本): 函数排序价格(a,b){ 返回$(a).find('.cicorene_price').text()>$(b).find('.cicorene_price').text(); } 函数sortByPriceDesc(a,b){ 返回$(a).find('.cicorene_price').text()

我有一个按价格ASC和DESC排序div的函数,但它在Safari上不起作用。 在Firefox/Chrome上也可以

原因是什么

代码(和版本):

函数排序价格(a,b){
返回$(a).find('.cicorene_price').text()>$(b).find('.cicorene_price').text();
}
函数sortByPriceDesc(a,b){
返回$(a).find('.cicorene_price').text()<$(b).find('.cicorene_price').text();
}
函数重新排序(el){
变量容器=$(“#制表符”);
container.html(“”);
el.每个(函数(){
$(此).appendTo(容器);
});
}
$('filter_price')。更改(函数(){
if($(“#过滤器#价格选项:选中”).val()=='desc'){
重新排序($('.global_product').sort(sortByPriceDesc));
}else if($(“#过滤器#价格选项:选中”).val()=='asc'){
重新排序($('.global_product').sort(sortByPrice));
}
});

问题已经解决,为了解决这个问题,我添加了parseFloat作为十进制数

解决方案如下:


Safari似乎不喜欢从比较函数返回布尔值进行排序。返回-1/1(对于具有相同排序条件的元素,可能返回0)。对此您有什么问题吗?我迷路了-我更新了你的小提琴-在Safari 5.1.7/Win7中这样对我很好。你可以复制/粘贴代码吗?我在我的小提琴链接上看不到更新?!太多了!对不起,我以为它更新了,但似乎没有。请看这里:
  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));
            }
  });
function sortByPrice(a,b){
    return parseFloat($(a).find('.productPriceForSorting').text()) > parseFloat($(b).find('.productPriceForSorting').text()) ? 1 : -1;
}