这是我正在使用的代码的一个版本,仅限于那些不起作用的部分。这都是为了生成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);
答案 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)?