YUI hat bei weitem die beste Stylesheet-Dienstprogramm die ich da draußen gesehen habe. Ich möchte Sie ermutigen, es zu überprüfen, aber hier ist ein Vorgeschmack:
// style element or locally sourced link element
var sheet = YAHOO.util.StyleSheet(YAHOO.util.Selector.query('style',null,true));
sheet = YAHOO.util.StyleSheet(YAHOO.util.Dom.get('local'));
// OR the id of a style element or locally sourced link element
sheet = YAHOO.util.StyleSheet('local');
// OR string of css text
var css = ".moduleX .alert { background: #fcc; font-weight: bold; } " +
".moduleX .warn { background: #eec; } " +
".hide_messages .moduleX .alert, " +
".hide_messages .moduleX .warn { display: none; }";
sheet = new YAHOO.util.StyleSheet(css);
Es gibt natürlich noch andere, viel einfachere Möglichkeiten, den Stil zu ändern, wie die hier vorgeschlagenen. Wenn sie für Ihr Problem sinnvoll sind, sind sie vielleicht die beste Lösung, aber es gibt definitiv Gründe, warum die Änderung von CSS eine bessere Lösung ist. Der offensichtlichste Fall ist, wenn Sie eine große Anzahl von Elementen ändern müssen. Der andere wichtige Fall ist, wenn die Stiländerungen die Kaskade einbeziehen sollen. Die Verwendung des DOM zur Änderung eines Elements hat immer eine höhere Priorität. Es ist der Vorschlaghammer-Ansatz und entspricht der Verwendung der style
Attribut direkt auf dem HTML-Element. Das ist nicht immer der gewünschte Effekt.