Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамическое добавление css правил к документу, Проблема с реализацией под IE 
V
    Опции темы
UhaMurad
Дата 29.11.2007, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 22.9.2004
Где: Махачкала

Репутация: нет
Всего: нет



Здравствуйте!

Задача: имеется текст с правилами css, загруженный с сервера аяксом, допустим такой

Код

@charset "utf-8";
.portfolio_blue .portfolio_list {
    width:100%;
    border-color:#000033;
    border-style:solid;
    border-width:2px;
}


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


пробовал следующий код - тег style физическидобавляется, но правила не применяются

Код

var st_node = document.createElement('style');
st_node.id = 'iren_ss_' + name.trim();    // name - просто название блока css
st_node.type = 'text/css';
st_node.InnerText = content;                 // content - текст с правилами css
document.body.appendChild(st_node);
alert(st_node.InnerText);




это под IE... под мозиллу и оперу все пашет (правда реализовано немножко по-другому)

Вопрос: как заставить ишака применить правила?

Заранее спасибо!


Это сообщение отредактировал(а) UhaMurad - 29.11.2007, 13:25
PM MAIL WWW   Вверх
dsCode
Дата 29.11.2007, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: 19
Всего: 26



UhaMurad, попробуйте через коллекцию styleSheets и ее методы (document.styleSheets[0].addRule(...)). 


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
SelenIT
Дата 29.11.2007, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Вот неплохая "выжимка" по упомянутым dsCode коллекциям и методам - надеюсь, поможет.


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
UhaMurad
Дата 30.11.2007, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 22.9.2004
Где: Махачкала

Репутация: нет
Всего: нет




Всем спасибо, решение найдено! smile

Код

// from MSDN http://msdn2.microsoft.com/en-us/library/ms533698.aspx
// Create new stylesheet in HEAD element.
var ss = document.createElement('STYLE');
document.documentElement.firstChild.appendChild(ss);
ss.styleSheet.cssText = content;


кому надо - решение под оперу и мозиллу:

Код

var text_node = document.createTextNode(content);               
var st_node = document.createElement('style');
st_node.id = 'iren_ss_' + name.trim();
st_node.type = 'text/css';
st_node.appendChild(text_node);
document.getElementsByTagName('head')[0].appendChild(st_node);

PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1040 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.