2008-12-11 46 views
2

我有一个方法,它将接受一个JQuery对象的参数,并将计算一个部分的总计。所以,如果你给它含有部分一个div的jQuery对象,将计算总为它JQuery循环JQueryObjects

,所以你可以这样做:

变量$ totalcompletion = CalculateSectionCompletion(jQuery的(“#SECTION1”));

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

我这样做:

jQuery的( “div.SectionContainer”)每个( 功能(I,valueOfElement){
CalculateSectionCompletion(valueOfElement);
});

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

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

回答

4

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

所以我认为你应该能够

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

你也可以不理会我和valueOfElement论点完全和使用这个

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

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

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

function CalculateSectionCopletion(e){ 
    jQuery(e).dostuff(); 
}