LX: CSS in Javasript einbinden

Beitrag lesen

Hallo, ceder!

Stil-Manipulationen per CSS/JS bewerkstelligt man sinnvollerweise, indem man per JS zusätzliche Klassennamen über die className-Eigenschaft eines Nodes setzt.

Unter Umständen kann es jedoch erforderlich werden, CSS-Stilangaben per JS zu setzen. Dies geht über die style-Eigenschaft.

Nur in sehr, sehr seltenen Fällen wird es notwendig, zusätzliches CSS per JS in eine Seite zu schreiben. In diesem Fall bekommt man das Problem, dass der IE in seinen älteren Inkarnationen style-Node-Inhalte nur dann definiert, wenn vorher ein block-Node mit beliebigem Inhalt stand. Man kann also folgende Funktion browserübergreifend verwenden:

function insertCss(css) {  
   var d=document.createElement('div');  
   d.innerHTML='<div>IE...</div><style type="text/css">'+css+'</style>';  
   document.getElementsByTagName('head')[0].appendChild(d.getElementsByTagName('style')[0]);  
}

Wie aber bereits gesagt, sollte man so etwas wirklich nur dann machen, wenn man die anderen Möglichkeiten nicht nutzen kann.

Gruß, LX

--
RFC 1925, Satz 3: Mit ausreichendem Schub fliegen Schweine ganz wunderbar. (...)