Sven Rautenberg: .style.display

Beitrag lesen

Moin!

div#MyImage ist CSS-Syntax und funktioniert für ein <img id="MyImage">

Definitiv NICHT!

genau wie document.getElementById("MyImage">), aber ein <img id="MyImage"> existiert _im HTML_ anscheinend nicht.

Weiß nicht, wieso du auf <img/> kommst.

document.getElementById('MyImage').style.width = 0;
            document.getElementById('MyImage').style.height = 0;

geht auch nicht.

Wie gesagt: weil es nicht existiert.

Und bei deinem Code kommt nur:

invalid assignment left-hand side

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? Wo definierst du myImage?

oder besser so:
if(document.getElementById("MyImage")) myImage.style.display = "none";

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. Und auch hier die Frage: Wo definierst du das Objekt myImage?

Aber das verhindert nur die Fehlermeldung. Der logische Fehler bleibt bestehen, weil kein Bild mit id="MyImage" im HTML existiert.

Ich sehe in deinem Code mindestens Klarheitsfehler...

- Sven Rautenberg