2009-06-01 2 views
0

У меня возникла проблема, когда я делаю выборка ajax некоторых строк таблицы, которые я использую для замены тела таблицы.IE теряет стили CSS после того, как строки таблицы добавлены с помощью javascript

Проблема в том, что иногда IE (6/7) решает забыть обо всех стилях страниц после такого добавления. (То есть, он переходит к использованию стилей в CSS включает в верхней части страницы, а не стили определены на самой странице)

я смог найти otherpeopledescribing ту же проблему, но не решение , кто-нибудь сталкивался с этим раньше и смог его решить?

бонусные баллы, если решение не связано с экстернализацией всех css на странице.

ответ

1

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

Если вы заменяете все строки таблицы, попробуйте вместо этого заменить всю таблицу. Структура таблицы на самом деле не предназначена для того, чтобы ее радикально изменить, поэтому замена всей таблицы может привести к менее агрессивному перепланированию страницы. Это может препятствовать удалению сомнительных тегов стиля в коде.

Убедитесь, что код, который вы помещаете на странице, действителен. Если вы вводите неверный код HTML, это может заставить браузер изменить режим рендеринга. Это, в свою очередь, потребует полного пересмотра кода, что может быть возможным объяснением того, почему он отбрасывает встроенные теги стиля.

Вместо таблицы вы можете попробовать использовать теги div, которые вы упорядочиваете, чтобы сформировать макет, который вы хотите. Замена некоторых элементов div может вызвать меньше путаницы в браузере, чем замену таблицы или части таблицы, что может сделать страницу более стабильной.

Если все это не удается, я не вижу другого решения, кроме как сделать страницу более надежной, не помещая теги стиля в тело. В любом случае, это то, что вам следует учитывать в долгосрочной перспективе.