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

时间:2010-04-09 13:30:01

标签: 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);

2 个答案:

答案 0 :(得分:5)

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

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

相反,请使用普通的旧for (var i= 0; i<array.length; i++)循环。或者,因为您正在使用jQuery,$.each

答案 1 :(得分:2)

您可能会发现它与CSS类“my_class”或它的父母有关,而不是与javascript有关。

您是否在各自的浏览器上尝试过 alert(str)