JQuery Loop sur JQueryObjects

J'ai une méthode qui acceptera un paramètre d'un objet JQuery et calculera les totaux pour une section. Donc, si vous lui donnez un objet JQuery d'un div contenant la section, il en calculera un total

Afin que vous puissiez le faire:

Var $ totalcompletion = CalculateSectionCompletion (jQuery ("# ​​Section1"));

Maintenant, j'ai plusieurs divs avec le conteneur classe de section. Je veux pouvoir appeler la méthode ci-dessus sur tout div avec cette classe.

Je fais ça:

JQuery ("div.SectionContainer"). Chacun (function (i, valueOfElement) {
CalculateSectionCompletion (valueOfElement);
});

Le problème est que valueOfElement est effectivement l'objet DOM et non l'objet JQuery, donc je ne peux pas passer cela dans ma méthode.

Est-ce que de toute façon, je peux boucler tous les objets JQuery sélectionnés par une requête, sans écrire un code sale pour extraire l'Id de l'objet DOM et appeler JQuery (valueOfElement.id) et le transmettre?

Vous pouvez envelopper n'importe quel élément DOM en $ (..), comme vous le faites avec $ (document).

Je pense donc que vous devriez pouvoir

jQuery("div.SectionContainer").each( function(i, valueOfElement){ CalculateSectionCompletion($(valueOfElement)); }); 

Vous pouvez également ignorer complètement les arguments i et valueOfElement et utiliser cela .

 jQuery("div.SectionContainer").each(function(){ CalculateSectionCompletion(jQuery(this)); }); 

Vous pourriez même faire fonctionner la fonction CalculateSectionCompletion dans son argument jQuery.

 jQuery("div.SectionContainer").each(function(){ CalculateSectionCompletion(this); }); function CalculateSectionCopletion(e){ jQuery(e).dostuff(); }