Перестановка строк таблицы с помощью jQuery, дающая нежелательные результаты в IE

#javascript #jquery #html #css

#javascript #jquery #HTML #css

Вопрос:

Я пытаюсь переставить строки таблицы в предварительно отформатированной таблице HTML.Таблица HTML отображается, как показано на рисунке ниже.. Мой общий HTML приведен в этой скрипке.

Первоначальный вид таблицы

Я пытаюсь переставить <td> с текстами, содержащими тексты «Один» и «Два».Я идентифицирую эти «одну» и «две» строки, используя атрибут «rowspan». Если вы видите приведенную ниже скрипку в браузере, отличном от IE, вы можете получить четкое представление о том, что я пытаюсь сделать..

После перестановки

Но проблема в том, что этот код отлично работает в браузерах, отличных от IE (я тестировал в Chrome и Firefox). Я не могу найти, в чем проблема…

Пожалуйста, помогите мне исправить мой код, чтобы обеспечить кроссбраузерную совместимость.

Комментарии:

1. Вы получаете какие-либо ошибки javascript в IE? JSLint показывает предупреждения для одного из ваших скриптов.

2. @Heikki Не могли бы вы, пожалуйста, определить проблему с моим кодом .. Мой браузер IE не показывает никаких ошибок. Спасибо

3. Просто нажмите кнопку «JSLint» в вашей второй скрипке.

4. @sparky672 Спасибо, я добавил semocolon.

5. попробуйте rowSpan вместо rowspan

Ответ №1:

Спасибо за ваши ответы, я нашел проблему.. IE присваивает элементам индекс от 1. Таким образом, давая

  find('td.mrGridCategoryText:eq(0)')
 

дает нежелательные результаты, если я изменяю его на 1, тогда я получаю правильный результат в IE, но не в других.Проверьте эту скрипку http://jsfiddle.net/J7WPb/23 /
Итак

  i need to give eq(0) if other browsers and eq(1) if IE :-(
 

Еще раз спасибо.

Ответ №2:

Если вы можете, используйте IE9 (только для Windows 7 ) и нажмите «F12» для консоли и возможностей отладки.

Затем вы можете даже использовать отладчик javascript для обновления страницы и ее прерывания при ошибках javascript

Лично я не поддерживаю IE, пока они не начнут поддерживать «интернет» так, как это делает любой другой «лучший браузер»

Обновить

Я обнаружил проблему! Когда IE8 загружает страницу, в строке 195 файла появляется ошибка LayoutCM.js

Другими словами, я не думаю, что ошибка в вашем коде настолько велика, насколько это проблема jFiddle! Достаточно сказать, что IE8 не поддерживает «getStyle» для вызываемого объекта (переменная «win» ожидается как «window»).
Это просто еще один яркий пример того, что IE не поддерживает «интернет», как я выразился ранее.

Надеюсь, эта информация поможет!

Комментарии:

1. более старый IE (не менее 7), вам нужно обновить панель инструментов разработчика -> microsoft.com/download/en/details.aspx?id=18359

2. 1 для IE, не поддерживающего Интернет. никогда не слышал более правдивого слова.