molily: JavaScript und XHTML 1.0 Strict

Beitrag lesen

Hallo,

Ich versuche gerade, eine XHTML1.0-Strict-Website zu erstellen.
Dabei brauche ich unter anderem unten stehendes (stark vereinfachtes Beispiel).
Leider funktioniert dies nicht mehr, sobald ich die DOCTYPE-Angabe ergänze.
Der w3c-Validator findet keine Fehler, ein Plugin zu firefox meldet: "Error: document.all has no properies"!

Der Internet Explorer ist der einzige Browser, der document.all offiziell unterstützt. Alle anderen unterstützen es nicht bzw. nur aus dem Grunde, weil Webautoren diesen Umstand ignorieren und document.all gedankenlos verwenden.
http://de.selfhtml.org/javascript/objekte/all.htm#allgemeines

Firefox nimmt solche document.all-Fälle also aus Kompatibilitätsgründen an, aber nur, wenn die Seite keine vollständige DOCTYPE-Angabe besitzt. Mit Dokumenttyp-Angabe schaltet er in einen anderen Modus und wirft einen Fehler aus, wenn document.all verwendet wird.

eval("document.all.Menu"+Index+".style.visibility = 'visible'");

Verwende document.getElementById('Menu' + Index).style.visibility
Das ist eine standardisierte Methode des Document Object Models des W3C. Dazu auch:
http://de.selfhtml.org/javascript/intro.htm
http://de.selfhtml.org/dhtml/modelle/dom.htm

eval ist in solchen Fällen immer unnötig – selbst dann, wenn document.all verwendet wird.

Mathias