Don P: CSS-Eigenschaft dynamisch ändern für Elemente mit class=

Beitrag lesen

Hallo,

Man müsste doch irgendwie direkt auf die CSS-Definition für eine bestimmte class zugreifen und diese ändern können

Das Stichwort lautet document.styleSheets.

Danke, das hat geholfen! Ergebnis:

  
var setTblColStyle = function(nSheet, strClass, strProperty, strPropval) {  
  
    var oStyleSheet = document.styleSheets[nSheet];  
    var arrRules = oStyleSheet.cssRules || oStyleSheet.rules; // oStyleSheet.rules for IE only  
  
    for (var i = 0; i < arrRules.length; i++) {  
  
        var oRule = arrRules[i];  
        oRule.style[strProperty] = oRule.selectorText === strClass ? strPropval : '';  
    }  
};  
  
// Aufzurufen z.B. mit:  
setTblColStyle(0, '.spalte2', 'fontWeight', 'bold');

Cybaer hat da mal eine Helferfunktion geschrieben: http://coding.binon.net/dhtml/cssrule.htm

Wow, die ist mit 222 Zeilen ja wirklich gigantisch, kann aber auch wesentlich mehr als meine. Meine hier tut's zumindest in neueren FFs und IEs, vermutlich auch in Opera, das sollte erst einmal reichen...

Gruß, Don P