为什么Internet Explorer会向后显示我的javascript分页?

Dav*_*ter 3 javascript jquery internet-explorer cross-browser

这是我正在使用的代码的一个版本,仅限于那些不起作用的部分.这都是为了生成一些jQuery的基本分页.

在Chrome/Safari/Moz中,我生成了看到跨度,1,2,3,4,......等

当我查看IE7/8时,我看到等,...,4,3,2,1

字符串似乎倒退了!!

这对我来说似乎很奇怪,因为这里的代码并没有发生很多,我无法弄清楚哪一位可能导致问题.

显然,1,2,3,4,...等是我的目标,所以以及为什么这是一个问题的解释,如果有人能提供快速解决方案我会喜欢它.

myVar = {
arr:$.makeArray($('.my_li'))
};

var str;
str='';

for (s in myVar.arr){
r=parseInt(s,10)+1;
str+='<span class="my_class">'+r+'</span>';
}

$('#my_other_div').html(str);
Run Code Online (Sandbox Code Playgroud)

bob*_*nce 5

你正在使用for... in循环Array.不要这样做,它只是迭代用作映射的对象的属性.

JavaScript不保证您将以数组顺序返回属性,并且您还可能获得您不想要的Array原型的其他非数字属性.

相反,使用一个普通的旧for (var i= 0; i<array.length; i++)循环.或者,因为你使用jQuery $.each.