IE не применяется, динамично загрузил CSS

Появляется, как будто IE (более старые версии, по крайней мере) не применяет CSS, который загружается динамично. Это может быть болевой точкой при загрузке страницы, содержащей CSS через ajax в "лайтбокс" или "палитру цветов".

Например, скажите, что Ваша страница HTML имеет названный "тако" отделения:

<style>#taco {color:green;}</style>
<div id="taco">Hola Mundo!</div>

"Hola Mundo!" будет зеленым, так как CSS был включен в исходную страницу HTML. Затем некоторый JavaScript происходит и добавляет это к "тако":

<style>#taco {color:green;}</style>
<div id="taco">
  Hola Mundo!
  <style>#burrito {color:red;}</style>
  <span id="burrito">mmmm burrito</span>
</div>

Во всех браузерах кроме IE шрифт буррито будет красным.

Так существует ли способ сделать это в IE? Кажется, как будто нет.

16
задан tybro0103 29 April 2014 в 21:05
поделиться

2 ответа

Возможно, вы захотите начать использовать метаданные jQuery .CSS для подобных динамических изменений стиля.

$("#jane").css('color', '#0F0');

Или просто обычная Джейн Javascript:

document.getElementById['sally'].style.color = '#0F0';

РЕДАКТИРОВАТЬ:

Сделайте так, чтобы ваш ajax вводил это:

<div id="jane">        
    <div id="sally">Hi, I'm Sally!</div>
    <script>document.getElementById['sally'].style.color = '#0F0';</script>
</div>

Или почему бы просто не вводить элементы со встроенными стилями, вычисленными на стороне сервера?:

<div id="jane">        
    <div id="sally" style="color:#0F0">Hi, I'm Sally!</div>
</div>
2
ответ дан 30 November 2019 в 23:24
поделиться

Тег стиля разрешен только в разделе head . Размещение его в другом месте просто недопустимо и не имеет ничего общего с IE.

Дополнительная информация .

Кстати , чтобы решить вашу проблему, если вы не можете поместить стили в глобальную таблицу стилей, вы можете использовать атрибут 'style' для изменения элементов:

<p style="...">

Или вы можете использовать iframe , но тогда вам придется обслуживать всю страницу вместо нескольких тегов.

4
ответ дан 30 November 2019 в 23:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: