Стили CSS не применяются к динамическим элементам в Internet Explorer 7 - PullRequest
5 голосов
/ 06 сентября 2010

Когда мы визуализируем динамические элементы с помощью Javascript в IE7, стили CSS не применяются. Когда мы используем панель инструментов веб-разработчика для просмотра страницы, динамические элементы не отображаются. Страницы хорошо отображаются в Firefox, Chrome и Safari.

Может ли IE7 не применять стили CSS для динамически создаваемых элементов? IE8 правильно отображает динамические элементы.

Этот вопрос относится к IE8, поскольку мы используем метатег, чтобы заставить IE8 отображать в режиме IE7.

Спасибо!

Ответы [ 2 ]

11 голосов
/ 07 сентября 2010

Мы обнаружили проблему: вместо использования setAttribute ('class', 'cssClass') для нового элемента нам нужно было использовать setAttribute ('className', 'cssClass'), где 'cssClass' - это определенный пользователем CSS класс.

Хотя FF обрабатывает атрибут «класс», IE задыхается, потому что «класс» является специальным ключевым словом в Javascript. Таким образом, вы должны использовать className в качестве имени атрибута.

Спасибо всем за ответы!

1 голос
/ 07 сентября 2010

Я предполагаю, что IE7 (т.е. IE8 загружается как 7) загружает стили CSS и использует только те, которые применяются к структуре документа и времени загрузки. Возможно, вы можете принудительно перезагрузить таблицу стилей, включив другой тег в динамически загружаемый контент.

Быстрый В: Вы используете строгий DOCTYPE? Они говорят что-то здесь о необходимости использовать Strict DOCTYPE специально для IE7. Это прямо под разделом Обзор.

Осторожно: Если вы не использовали Строгий с самого начала, он выкинет ваш макет. Но я бы порекомендовал использовать Строгий, так как в конечном итоге он облегчит вашу жизнь. Просто разберитесь с вашим макетом после переключения, и вы получите A .

...