我有一个按价格ASC和DESC排序div的功能。但无法在Safari上运行。 它在Firefox / Chrome上没问题。
是什么原因?
代码(以及fiddle版本):
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));
}
});
答案 0 :(得分:2)
问题已经解决,对于解决方案,我为小数添加了parseFloat
解决方案在这里:fiddle correction
function sortByPrice(a,b){
return parseFloat($(a).find('.productPriceForSorting').text()) > parseFloat($(b).find('.productPriceForSorting').text()) ? 1 : -1;
}