has no properties abfragen
Philipp
- javascript
0 Joerg Peschke1 molily
Hallo
Wie kann ich den Fall abfangen das folgendes Object keine Eigenschaften hat? Hab schon folgendes probiert:
response.getElementsByTagName('level')[j].firstChild.data.isEmpty()
response.getElementsByTagName('level')[j].firstChild.data.exists()
response.getElementsByTagName('level')[j].firstChild.data=NULL
response.getElementsByTagName('level')[j].firstChild.data=0
Oder geht das nur mit einem try catch block? Sollte naemlich das ganze in einer while schleife abfragen. Das er mir auslesen soll solange bis nix mehr da ist
Gruss
Philipp
Tag,
Vielleicht so?
var objekt = response.getElementsByTagName('level')[j].firstChild.data.isEmpty();
var cnt = 0;
for (var prop in objekt) {cnt++;break;}
if (cnt == 0) { //Keine Eigenschaften}
else {//Eigenschaften}
Viele Grüße und schönes WE,
Jörg
Hups, sorry,
var objekt = response.getElementsByTagName('level'[[j].firstChild.data.isEmpty();
var objekt = response.getElementsByTagName('level')[j].firstChild;
Muss das natürlich heissen.
Hallo,
Wie kann ich den Fall abfangen das folgendes Object keine Eigenschaften hat? Hab schon folgendes probiert:
response.getElementsByTagName('level')[j].firstChild.data.isEmpty()
response.getElementsByTagName('level')[j].firstChild.data.exists()
response.getElementsByTagName('level')[j].firstChild.data=NULL
response.getElementsByTagName('level')[j].firstChild.data=0
Wenn kein Kindknoten existiert, liefert firstChild gemäß DOM den Wert null zurück.
if (response.getElementsByTagName('level')[j].firstChild !== null)
/* ... Kindknoten exixtiert ... */
Oder einfach
if (response.getElementsByTagName('level')[j].firstChild)
/* ... Kindknoten exixtiert ... */
Wenn es sich dann um einen Textknoten handelt (nodeType == 3), dann ist auch die Eigenschaft .data gesetzt.
Allgemein gilt: Abfragen, ob ein Objekt existiert
In anderen Fällen nimmt man if (typeof(objekt) != "undefined") /* Objekt existiert */.
Mathias
Hi
if (response.getElementsByTagName('level')[j].firstChild !== null)
/* ... Kindknoten exixtiert ... */Oder einfach
if (response.getElementsByTagName('level')[j].firstChild)
/* ... Kindknoten exixtiert ... *
Allgemein gilt: Abfragen, ob ein Objekt existiert
In anderen Fällen nimmt man if (typeof(objekt) != "undefined") /* Objekt existiert */.
Danke fuer deine Antwort aber leider haut das nicht ganz hin! Habe folgendes probiert:
while(typeof(response.getElementsByTagName('level')[j].firstChild)!= 'undefined')
while(typeof(response.getElementsByTagName('level')[j].firstChild)!= "undefined" )
while(response.getElementsByTagName('level')[j].firstChild)!= null)
while(!response.getElementsByTagName('level')[j].firstChild))
Immer krieg ich von der Console die Fehlermeldung dass das Objekt keine proberties hat sobald j=3.
Irgendwelche Ideen?
Gruss
Philipp
Danke fuer deine Antwort aber leider haut das nicht ganz hin! Habe folgendes probiert:
while(typeof(response.getElementsByTagName('level')[j].firstChild)!= 'undefined')
while(typeof(response.getElementsByTagName('level')[j].firstChild)!= "undefined" )
while(response.getElementsByTagName('level')[j].firstChild)!= null)
while(!response.getElementsByTagName('level')[j].firstChild))
Immer krieg ich von der Console die Fehlermeldung dass das Objekt keine proberties hat sobald j=3.
Wenn das 4. Objekt nicht existiert, dann hat das auch kein firstChild, du musst auf die existenz von
response.getElementsByTagName('level')
und response.getElementsByTagName('level')[j]
prüfen. Dann kannst du erst fistChild überprüfen.
Struppi.