Sven Rautenberg: .style.display

Beitrag lesen

Moin!

Hatte es nicht getestet, sorry. Es müsste so heißen:
document.getElementById("MyImage") && (myImage.style.display = "none");

Erklärst du mal, was für eine unleserliche Abkürzung du dort verwendest?

Du meinst &&?

Nein, myImage.

Auch das ist nicht viel besser. Den Short-Circuit-Eval der oberen Zeile mal unbeachtet sollte man Codeblöcke immer in Klammern setzen, auch wenn die Syntax das nicht zwingend fordert.

Eval? Bist du sicher? Eine Zuweisung ist doch eine Operation wie jede andere und liefert einen Wert zurück (den zugewiesenen). Meistens steht sowas als einzelne Anweisung da, mit Semikolon abgeschlossen, aber das ist meines Wissens kein muss.

Ich sprach nicht von der Funktion eval(), sondern von Short-Circuit-Evaluation.

Ich sehe in deinem Code mindestens Klarheitsfehler...

Wie gesagt: Ich wollte hier keinen Klarheitswettbewerb gewinnen, nur schnell die Fehlermeldung wegzaubern und darauf warten, dass es heißt: "funktioniert aber immer nocht nicht mit dem Ausblenden" ;)

Ich war irritiert ob deiner Verwendung von myImage. Irgendwie schienst du sehr überzeugt davon auszugehen, dass ein Aufruf von getElementById("MyImage") gleichzeitig ein Objekt myImage generiert, was man verwenden kann.

Und wenn ich mir den IE so anschaue, dann wäre ich nicht mal sicher, ob dein Code nicht sogar funktionieren würde - mit Ausnahme der Tatsache, dass du dann ein Case-Problem der Bezeichner hättest (My <-> my).

- Sven Rautenberg