2015-05-07 5 views
2

Мне нужно создать класс стилей CSS динамически, используя JavaScript в IE8.Как динамически создавать класс CSS в IE8

Я использовал следующий код для других браузеров:

var style = document.createElement('style'); 
style.type = 'text/css'; 
style.innerHTML = '.cssClass { color: #F00; }'; 
document.getElementsByTagName('head')[0].appendChild(style); 

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

+0

Вы можете просто вставить стиль в тело страницы с помощью Taplar

+0

@Taplar Мне нужно динамически добавить –

+0

Вы можете. http://jsfiddle.net/dzv1p8vf/1/ – Taplar

ответ

3

По MSDN:

Свойство innerHTML только для чтения на седловине, COLGROUP, FRAMESET, HTML, головы, стиль, стол, TBODY, TFOOT, THEAD, название и тр объектов.

Итак, попробуйте использовать innerText, чтобы написать этот класс.

Обновлено:

Вы можете использовать:

style.styleSheet.cssText = '.cssClass { color: #F00; }'; 

Или сделать тест:

if (style.styleSheet){ 
    style.styleSheet.cssText = '.cssClass { color: #F00; }'; 
} else { 
    style.appendChild(document.createTextNode('.cssClass { color: #F00; }')); 
} 

Надежда, теперь он работает! :)

+0

Я также пробовал также innerText, но не работал –

+0

Ok , немного подождать! –

+0

ya sure .......... :-) –