2010-12-10 8 views
0

Ich versuche, eine Bedingung zu machen, wo [i] ein Wert für data.length ist, das Problem ist, dass alles funktioniert, wenn es mehr als 1 Wert gibt, aber wenn es nur 1 Wert gibt Skript funktioniert nicht.Detect [i] Wert

 out.href = data[i].href; 
     out.innerHTML = data[i].alt; 
     out.appendChild(document.createElement('br')); 
    } 
} 

Erläuterung: Wenn data.length mehr als 1 ist, wird das Ergebnis object1.href sein, object2.href usw. Aber wenn die zurückgegebene Abfrage nur 1 Wert ist, will ich es schreiben nur "object.href" ohne das [i] darin, weil dies mit yql funktioniert und wenn yql nur 1 Objekt zurückgibt, ist die Objektnummer direkt, hat keinen Wert. Anstelle von object1.href gibt es nur object.href, aber das Skript speichert den Wert in object [i] .href und schlägt somit fehl, wenn nur 1 Ergebnis zurückgegeben wird.

Gibt es irgendeine, wenn ... andere Methode dafür?

Antwort

2

Überprüfen Sie den count Wert, der mit jeder YQL-Antwort zurückgegeben wird.

if (o.query.count == "1") { 
    data = [data]; 
} 
+0

Das ist es, vielen Dank salathe, ich habe mich rund Kreise gefragt und wenn ... sonst Labyrinthe und das hat den Trick! – Shadow