if( parentNode undefined ) ? Ist undefined true oder false?
RedNifre
- javascript
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...
// 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.
// 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/INPUTWieso 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/..."
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.