Utiliser $.chaque et si avec $.getJSON
Moi et $.chacun ne sont pas de bons amis, je n'arrive pas à comprendre comment je dois utiliser cette instruction pour imprimer toutes mes données dans mon fichier JSON. Un autre problème est l'instruction si, j'ai essayé de plusieurs façons, mais quoi que je fasse, aucune donnée n'est en cours d'impression.
Mon fichier JSON
[
{
"expo":"pit",
"datum":"05.06.2011 - 05.06.2016",
"img":"images/pit_home.jpg",
"link":"exp1_index.html"
},
{
"expo":"Space Odessy 2.0",
"datum":"17.02 - 19.05.2013",
"img":"images/so_home.jpg",
"link":"exp2_index.html"
}
]
Mon $.getJSON script
<script type="text/javascript">
function read_json() {
$.getJSON("home.json", function(data) {
var el = document.getElementById("kome");
el.innerHTML = "<td><a href=" + data.link + " data-ajax='false'><img src=" + data.img + "><div class='dsc'>" + data.expo + "<br><em>" + data.datum + "</em></div></a></td>";
});
}
</script>
Alors, comment aurais-je intégrer l' $.chaque instruction et séparé de que, si l'instruction?
Vous devez vous connecter pour publier un commentaire.
Essayer cette
if( val.expo === "pit" )
devrait le faireQuelque chose comme cela?
Note: je n'ai pas testé, donc il peut y avoir quelques erreurs de syntaxe (principalement préoccupée par les guillemets dans la concaténation de chaîne).
Je note que vous n'avez pas besoin de jQuery $.chaque pour cela; vous pouvez utiliser une base de boucle:
jQuery
.chacun()
est vraiment utile lors de l'itération sur les éléments dans le DOM, si. Par exemple, si vous souhaitez effectuer une itération sur les éléments avec la classedsc
, vous pouvez faire:Aussi, vous pourriez aussi bien utiliser du jQuery sélecteurs (le
$('#kome')
) si vous allez utiliser jQuery.l'API de jQuery a généralement d'excellents exemples pour des choses; c'est un de ces cas.
$.chacun peut itérer tableaux [] ou d'objets {}, votre json contient à la fois, donc tout d'abord vous avez besoin pour résoudre tableau, qui vous donne un objet à chaque itération. Ensuite, vous pouvez accéder à ses propriétés.
jQuery chaque documentation
Deuxième chose: pour ajouter à innerHTML utiliser "+=" non "=" ou vous réinitialiser html à chaque itération.