2010-04-09 2 views
3

Вот версия кода, который я использую, урезанный до тех частей, которые не работают. Все это написано для создания базовой разбивки на страницы с помощью jQuery.Почему интернет-браузер отображает мою страницу javascript в обратном направлении?

В 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

потому что интернет-exploder - дьявол. –

+2

Возможно, что стиль вызывает это. Можете ли вы дать нам CSS, который подходит к этому? – Peter

+0

IE отображается неправильно? Немыслимо! – digitaldreamer

ответ

5

Вы используете for ... in петля на Array. Не делайте этого, это только для итерации по свойствам объекта, используемого в качестве отображения.

JavaScript не гарантирует, что свойства будут возвращены в порядке массива, и вы также можете получить другие нечисловые свойства прототипа Array, который вы не хотите.

Вместо этого используйте обычную старую петлю for (var i= 0; i<array.length; i++). Или, поскольку вы используете jQuery, $.each.

+0

безупречный! $ .each сделал трюк. Большое спасибо. –

+0

зная, что JavaScript не указывает порядок возвращаемых свойств, я склонен поддерживать реализацию IE. Разве это не странно ... Скользящий вниз быстрее, не так ли? –

+0

Маргинально. Иногда. Но это не то, что действительно делает IE - это было бы слишком легко! – bobince

2

Вы можете обнаружить, что это что-то делать с классом CSS «my_class» или это родители, а не что-либо сделать с помощью JavaScript.

Вы пробовали alert (str) в браузере?

+0

Он появляется в обратном направлении в источнике, это не вещь css. –

Смежные вопросы