我有一个方法,它将接受JQuery对象的参数并计算一个部分的总数。因此,如果你给它一个包含该部分的div的JQuery对象,它将为它计算总数
所以你可以这样做:
var $ totalcompletion = CalculateSectionCompletion(jQuery(“#Section1”));
现在我有多个带有section容器类的div。我希望能够在该类的任何div上调用上述方法。
我这样做:
的jQuery( “div.SectionContainer”)。每个(
function(i,valueOfElement){
CalculateSectionCompletion(valueOfElement);
});
问题是valueOfElement实际上是DOM对象而不是JQuery Object,所以我无法将其传递给我的方法。
无论如何,我可以遍历查询选择的所有JQuery对象,而无需编写一些脏代码从DOM对象中提取Id,并调用JQuery(valueOfElement.id)并将其传入?
答案 0 :(得分:4)
您可以将任何DOM元素包装在$(..)中,就像使用$(document)一样。
所以我认为你应该能够
jQuery("div.SectionContainer").each( function(i, valueOfElement){
CalculateSectionCompletion($(valueOfElement));
});
答案 1 :(得分:2)
你也可以完全忽略i和valueOfElement参数并使用 this 。
jQuery("div.SectionContainer").each(function(){
CalculateSectionCompletion(jQuery(this));
});
你甚至可以让CalculateSectionCompletion函数在jQuery对象中包装它的参数。
jQuery("div.SectionContainer").each(function(){
CalculateSectionCompletion(this);
});
function CalculateSectionCopletion(e){
jQuery(e).dostuff();
}