При создании страницы в IE 6 я столкнулся с похожей проблемой и в итоге выполнил чистую конкатенацию строк, чтобы добиться приемлемой производительности. Моя первая попытка использовала jquery (1.2.6 в то время) для создания элементов и добавления атрибутов, но это оказалось слишком медленно. Создание html-файла вручную в виде строки и последующее задание свойства innerHtml для элемента для отображения таблицы выполнялось намного быстрее. jQuery 1.4+ в отношении IE6 намного быстрее, так что это может больше не выполняться.
Использование промежуточных строк в циклах for, похоже, также повышает производительность, т. Е. Не просто продолжайте использовать "+ =" на одной большой строке. В цикле for добавьте строку для строки таблицы и добавьте ее к большой строке в каждом цикле. Это может быть что-то попробовать.
Я столкнулся с двумя проблемами с IE6 в отношении производительности:
- Переключение классов css происходит медленно в IE6, лучше установить, например, цвет фона в атрибуте style для элемента.
- Если вы делаете указатели мыши над тегами tr или td в таблице, это будет хорошо работать во всех других браузерах, кроме IE. Вы должны обработать события mouseover и mouseout на уровне таблицы, найти тег tr или td, который был источником события, и выполнить любое поведение на этом этапе.