JQuery循环遍历JQueryObjects

时间:2008-12-11 09:30:30

标签: javascript jquery

我有一个方法,它将接受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)并将其传入?

2 个答案:

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