Der Martin: if-operatoren...bräuchte Hilfe

Beitrag lesen

Hallo,

if (document.getElementsByTagName("html")[0] == htm)

Was Du statt dessen machst, ist das <html>-Element selbst mit einer nicht vorhandenen Variablen namens htm zu vergleichen.

wie Cheatah schon sagte: Links vom Operator '==' (Vergleich) steht ein Objekt (nämlich eine Referenz auf das html-Element im DOM), und rechts vom '==' eine Variable namens htm. Du prüfst also, ob das html-Objekt gleich der Variablen htm ist.

Ich wollte damit halt prüfen, ob html die ID "htm" hat

Also solltest du genau das als erstes tun:

if (document.getElementsByTagName("html")[0].id)

Dieser Ausdruck wird wahr (true), wenn die Eigenschaft 'id' des html-Objekts existiert.

und falls ja die entspr. Eigenschaften anwenden.

Welche Eigenschaften?

Wie funktionieren if-Anweisungen also richtig?

if (ausdruck)
 { anweisung;
 }

Sowie der ausdruck in der if-Klammer einen Wert ergibt, der nicht Null ist, gilt die if-Bedingung als erfüllt. Als Null gilt dabei der Zahlenwert 0, der boolsche Wert false (z.B. bei einem fehlgeschlagenen Vergleich), der Leerstring "", oder auch eine nicht existierende Eigenschaft eines Objekts.

Ist also falsch, wenn ich bei HTML schaue, ob es die ID "htm" hat?

Nein. Aber dann solltest du das auch richtig machen. ;-)
Also erstmal überprüfun, ob die id-Eigenschaft überhaupt existiert (s.o.), und sie dann mit dem gewünschten Wert vergleichen. Und dabei berücksichtigen, dass Stringkonstanten anders notiert werden als Variablen.

So long,
 Martin

--
Lache, und die Welt wird mit dir lachen.
Schnarche, und du schläfst allein.