JQuery循环遍历JQueryObjects

我有一个方法,它将接受一个JQuery对象的参数,并将计算一个部分的总数。 因此,如果你给它一个包含该部分的div的JQuery对象,它将计算它的总数

所以你可以这样做:

var $ totalcompletion = CalculateSectionCompletion(jQuery(“#Section1”));

现在我有多个div与section容器的类。 我希望能够在该类的任何div上调用上述方法。

我这样做:

jQuery(“div.SectionContainer”)。each(function(i,valueOfElement){
CalculateSectionCompletion(valueOfElement);
});

问题是valueOfElement实际上是DOM对象而不是JQuery对象,所以我无法将其传递给我的方法。

反正我是否可以遍历查询选择的所有JQuery对象,而无需编写一些脏代码从DOM对象中提取Id,并调用JQuery(valueOfElement.id)并将其传入?

你可以用$(..)包装任何DOM元素,就像使用$(document)一样。

所以我认为你应该能够

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

您也可以完全忽略i和valueOfElement参数并使用

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

你甚至可以让CalculateSectionCompletion函数在jQuery对象中包装它的参数。

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