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(); }