J'ai fondamentalement une petite fonction appelée findItem()
qui est censée trouver les éléments que je recherche en fonction des attributs personnalisés data-
de l'élément.jQuery: Comment faire une boucle sur un ensemble d'éléments en trouvant seulement ceux qui correspondent aux valeurs dans un autre tableau?
Dans ce cas, ils sont purement numériques, par exemple. data-slide=1
.
Je suis un peu désemparé quant à la façon de faire correspondre la valeur de la diapositive de données de chaque élément à celle qui est contenue dans l'autre tableau.
Voici un exemple plus concret:
function findItem(count) {
var collection = [];
$.each(allMyLiItems, function(i, item) {
if ($(item).data('slide') == count) {
collection.push(item);
}
});
return $(collection);
}
findItem([1,3])
qui ne fonctionne pas parce count
dans l'instruction if ne semble pas correspondre à quelque chose.
La page contient 4 <li data-slide="{number}">…
éléments donc 1,3 devrait renvoyer le premier et le troisième de ces éléments.
Qu'est-ce que je fais mal ici?
Hmm ... je l'ai copié/collé dans mon fichier mais en déconnectant le résultat de 'findItem ([1,3])' renvoie le 3ème 'li' 3 fois au lieu des 1er et 3ème' li' une fois, chacun. Une idée de ce que je fais mal? – Jannis
@Jannis, Essayez ma mise à jour, j'ai aussi donné un exemple sur jsFiddle. –
J'ai vérifié notre violon, mais dès que vous ajoutez plus de 'li's il casse encore, voir ma mise à jour de violon ici: http://jsfiddle.net/UVFBu/1/ – Jannis