Внедрение CSS на лету

Development19 oct 2011

Столкнулся с задачей — внедрить “на лету”, при помощи javascript, CSS-код на страницу. Простое решение “в лоб” не заработало в IE:

$('head').append( $( '<style>', { type: 'text/css' } ).html( 'css код' ) );

Оказалось, что IE ищет в теге <style/> свойство styleSheet.cssText, откуда и берёт код. Решение:

var style = $('<style>', { type: 'text/css' } ).get(0);
if( style.styleSheet ) // IE
{
    style.styleSheet.cssText = css_code;
}
else
{
    $( style ).html( css_code );
}
$('head').append( style );