RedNifre: if( parentNode undefined ) ? Ist undefined true oder false?

Ich habe mir einen kleinen Code erstellt, der mir den Pfad eines Elementes anzeigen soll:

// focus wird auf ein Element gesetzt
while(focus) {
 elemPath[arrayPointer] = focus;
 arrayPointer++;
 elemPath =  "/"+focus.tagName+elemPath
 focus = focus.parentNode;
}
alert(elemPath);

Komischer Weise sieht die Ausgabe so aus:
/undefined/HTML/BODY/DIV/DIV/DIV/DIV/FORM/DIV/INPUT

Wo kommt das "undefined" her bzw. wann genau bricht die while-Schleife ab? Ich hätte erwartet dass es abbricht, sobald focus "undefined" wird...

  1. // focus wird auf ein Element gesetzt
    while(focus) {
    elemPath[arrayPointer] = focus;
    arrayPointer++;
    elemPath =  "/"+focus.tagName+elemPath
    focus = focus.parentNode;
    }
    alert(elemPath);

    Komischer Weise sieht die Ausgabe so aus:
    /undefined/HTML/BODY/DIV/DIV/DIV/DIV/FORM/DIV/INPUT

    Wieso komischerweise?
    einmal ist elemPath ein Array und dann ein String.

    Struppi.

    1. // focus wird auf ein Element gesetzt
      while(focus) {
      elemPath[arrayPointer] = focus;
      arrayPointer++;
      elemPath =  "/"+focus.tagName+elemPath
      focus = focus.parentNode;
      }
      alert(elemPath);

      Komischer Weise sieht die Ausgabe so aus:
      /undefined/HTML/BODY/DIV/DIV/DIV/DIV/FORM/DIV/INPUT

      Wieso komischerweise?
      einmal ist elemPath ein Array und dann ein String.

      Struppi.

      Habs korrigiert, das Ergebnis bleibt aber gleich:
       var aElemPath = new Array();
       var focus = inputs[0];
       var arrayPointer = 0;
       var sElemPath = "";

      while(focus) {
        aElemPath[arrayPointer] = focus;
        arrayPointer++;
        sElemPath =  "/"+focus.tagName+sElemPath
        focus = focus.parentNode;
       }

      alert(sElemPath);

      Die Ausgabe beginnt immernoch mit "/undefined/HTML/..."

      1. Struppi.

        Bitte lass nur das stehen worauf du Antwortest, das liest sich besser, Danke.

        Die Ausgabe beginnt immernoch mit "/undefined/HTML/..."

        zeig doch mal ein komplettes Beispiel.

        Struppi.