2009-11-13 8 views
2

J'essaie d'apprendre jquery et j'ai de la difficulté à trouver comment gérer un ensemble de résultats de jquery. Disons que j'ai quelques html comme:Comment faire une boucle sur un ensemble de résultats jQuery

<div class="divClass"> 
    <p class="pClass1">1</p> 
    <p class="pClass2">Some text.</p> 
</div> 
<div class="divClass"> 
    <p class="pClass1">2</p> 
    <p class="pClass2">Some text.</p> 
</div> 
<div class="divClass"> 
    <p class="pClass1">3</p> 
    <p class="pClass2">Some text.</p> 
</div> 

Je veux faire une boucle à travers les années div avec une classe de « divClass », obtenir la valeur contenue dans l'enfant p avec une classe de « pClass1 ». Obtenir l'ensemble des div est avec une classe de « divClass » est facile avec quelque chose comme:

divs = $(".divClass"); 

Mais je ne suis pas sûr de savoir comment faire une boucle par « divs » et trouver l'enfant « pClass1 », puis obtenir sa valeur . Toute aide serait très appréciée.

Répondre

2

Vous pouvez utiliser la méthode each, puis, recherchez les éléments » .pClass de, dans le contexte de this, qui est le div actuellement itérer:

var divs = $(".divClass"); 

divs.each(function() { 
    alert($('p.pClass1', this).text()); 
}); 

Vérifiez l'exemple ci-dessus here.

+0

Cela répond à ma question. Pouvez-vous me montrer où le deuxième paramètre de cette déclaration est documenté? $ ('p.pClass1', this) C'est ce que je ne pouvais pas comprendre comment faire et ne pouvait pas trouver dans la documentation. Je ne peux toujours pas le trouver après m'avoir montré comment le faire. – Michael

2

Utilisez la méthode each:

$(".divClass").each(function() { 

}); 
+0

@cobbal - Nice call :) –

+0

et 'this' fait référence à l'élément à chaque itération – cobbal

1

Il y a beaucoup de façons.

Pour votre scénario spécifique, je voudrais essayer quelque chose comme ceci:

$(".divClass .pClass1").each(function() { 
    // Do whatever 
}); 

Si vous voulez faire quelque chose avec les balises div et les balises p, vous pouvez essayer la méthode trouver:

Questions connexes