Hallo Mathias,
Und wie soll man eine Alternative anbieten, wenn JavaScript ausgeschaltet ist? noscript-Elemente sind im head-Element nicht erlaubt.
Ich würde eher ein zwei Stylesheets vorgeben, von denen einer das andere aufhebt. Mit document.StyleSheets http://www.styleassistant.de/tips/tip20.htm und dem DOM http://home.t-online.de/home/dj5nu/js-dom-changestyle.html kann man dann gezielt das falsche Stylesheet deaktivieren.
Dass das eventuell Anzeigefehler einbringt, muss kalkuliert werden...
Du machst Dir das Leben aber schwer:
Mal angenommen Du hast 2 Stylesheets: nacht.css und tag.css, dann musst Du es nur noch so einrichten, dass diese beiden Stylesheets sich *komplett* überschreiben (d.h. nacheinander reingeladen werden können, ohne, dass es Darstellungsprobleme gibt) und dann ist es recht einfach:
Am Anfang ein
<link rel="stylesheet" type="text/css" href="nacht.css" media="screen" />
Dann ein Script-Bereich, der den Link-Tag für "tag.css" (oder umgekehrt) einfügt, wenn es Tag ist. So sehen nicht-JS-aktive[tm] User halt nur die Nacht-Style und JS-aktive[tm] User dagegen den Tag-Style, wenn es Tag ist. Mit 3 Stylesheets geht es genauso, da muss halt der Script-Bereich erweitert werden.
Grüße,
Christian