@@ChrisB:
element.style greift nicht auf das style-Attribut des Elements zu, sondern auf das JavaScript-Objekt style unterhalb diesem.
Und bei jedem Element sind "alle" CSS-Eigenschaften per se "vorhanden".
Was aber nicht heißt, dass sie zwangläufig als Eigenschaften des style-Objektes vorhanden wären. (Es sind nur solche Eigenschaften des style-Objektes vorhanden, die mir JavaScript gesetzt wurden oder entsprechende CSS-Eigenschaften mittels style-Attributs gesetzt wurden. Aber sowas tut man ja nicht.[tm]*)
Andersrum kann man dem style-Objekt beliebige Eigenschaften geben. Wenn es aber keine dementsprechenden CSS-Eigenschatfen gibt, bleiben sie fürs Rendering wirkungslos.
Live long and prosper,
Gunnar
* Genaugenommen tut man das andere nach Möglichkeit auch nicht. Das Setzen von Eigenschaften des style-Objektes widerspricht der Trennung von Präsentation und Verhalten. Besser mit JavaScript nur dynamisch Klassennamen ändern und alle Darstellungsangeben im Stylesheet notieren.
Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)