jQuery排序不适用于任何IE浏览器

时间:2014-02-12 08:33:41

标签: jquery internet-explorer sorting

我要把头发拉出来,因为所有额外的时间花在护理上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 马丁

3 个答案:

答案 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;

您正在声明一个函数,因此它遵循所有常规规则。