Ashura: if-operatoren...bräuchte Hilfe

Beitrag lesen

Hallo Daniel.

Wenn du zwei Bedingungen verknüpfen willst, musst du sie in runde Klammern fassen. (Und natürlich den logischen UND-Operator verwenden, was du aber bereits tust.)

Sie sind doch in runden Klammern.

Ja, aber nur jeweils, nicht zusammen.

Hier die gekürzte Version, bei der ich document.get... durch "dgEbID" ersetzt habe. Ich sehe eigentlich keinen Fehler...

if (dgEbID("html")[0].id) && (dgEbID("html")[0].id == "htm")

  
Du hast hier ZWEI Ausdrücke, wobei nach der Syntaxregelung in JavaScript jedoch nur der erste gültig und der gesamte nachfolgende Code ungültig ist.  
  
Klartext:  
  
   Anfang …             … und Ende der Abfrage  
   ↓                    ↓  
if (dgEbID("html")[0].id) && (dgEbID("html")[0].id == "htm")  
                          ↑  
                          Fehler, da „{“ oder gültige Anweisung erwartet  
  
Aussehen müsste es also wie folgt (ich mag nicht mehr mit Betonpfeilern winken):  
  
if ((dgEbID("html")[0].id) && (dgEbID("html")[0].id == "htm"))  
   ↑                                                         ↑  
   Anfang …                                                  … und Ende der Abfrage  
  
  
  
Einen schönen Montag noch.  
  
Gruß, Ashura  

-- 
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|  
„It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“  
[[HTML Design Constraints: Logical Markup](http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/HTMLConstraints.html)]