Hallo,
Man muß aber auch nicht style verwenden. currentStyle bzw. getComputedStyle() lesen den aktuellen Wert aus, unabhängig wo der definiert wurde, und lesenden bzw. schreibenden Zugriff auf interne wie externe Stylesheets hat man ja via der styleSheets-Collection ...
Wie Browserübergreifend ist das denn? Dachte immer es gäbe da so Kandidaten die das nicht können (Mac IE z.b.), mag mich aber täuschen.
Das ist kein Grund für einen Klassenwechsel, denn auch sonst kann man "Layout und Implementierung" getrennt halten.
Das ehe ich anders:
Spätestens wenns barrierefrei werden soll oder du aus anderen Gründenverschiedene CSS für verschiedene Browser benutzen willst/musst, ist das direkte Austauschen des Style-Attributes suboptimal.
(Weil selbst etwas banalses wie "ausblenden" dann verschiedenes bedeuten kann, z.b. "display:none" vs. "visibility:hidden")
Ich gebe zu, ich mach auch nicht für jedes "display:none" eine eigene Klasse, aber der sauberere Weg ist es eigentlich.
Viele Grüße,
Jörg