2010-12-10 38 views
0

J'essaie de faire une condition où [i] est une valeur pour data.length, le problème est que tout fonctionne bien quand il y a plus de 1 valeur, mais quand il n'y a qu'une valeur, le le script ne fonctionne pas.Détecter [i] valeur

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

Explication: Lorsque data.Length est plus de 1, le résultat sera object1.href, object2.href, etc. Mais lorsque la requête est retourné seulement 1 valeur, je le veux écrire juste "object.href" sans le [i] dedans, parce que cela fonctionne avec yql et quand yql renvoie seulement 1 objet, le numéro d'objet est direct, n'a pas de valeur. Au lieu de object1.href, il n'y aura que object.href mais le script continue à placer la valeur dans l'objet [i] .href donc échouant quand seulement 1 résultat est retourné.

Existe-t-il une méthode if ... else pour cela?

Répondre

2

Vérifiez la valeur count qui est retournée avec chaque réponse YQL.

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

C'est, merci beaucoup salathe, je me suis demandé autour de cercles de boucle et si ... sinon labyrinthes et cela a fait l'affaire! – Shadow