我要把头发拉出来,因为所有额外的时间花在护理上IE -_-
好吧,我有一个无序的div列表,我正在尝试排序。 这适用于Chrome和Firefox,但不适用于IE。
JS非常简单:
$('#VariantContainer > .ProductVariant').sort(function(a,b){
return a.id > b.id
}).appendTo('#VariantContainer')
在IE中查看这个小提琴: http://jsfiddle.net/PAJ3w/
任何人都知道为什么?
谢谢:)
BR 马丁
答案 0 :(得分:4)
使用数字代替布尔值。对我来说,这是最好的变体(因为很明显我们使用数字):
parseInt(a.id) - parseInt(b.id)
答案 1 :(得分:1)
jQuery(document).ready(function($){
//Order variants
$('#VariantContainer > .ProductVariant').sort(function(a,b){
return a.id - b.id;
}).appendTo('#VariantContainer');
});
布尔值不是正确的返回类型,并不考虑相等的值。
答案 2 :(得分:-2)
我认为你错过了分号:
return a.id > b.id
Firefox和Chrome可以忽略这些小东西,但IE不能。 它应该是
return a.id > b.id;
您正在声明一个函数,因此它遵循所有常规规则。