2008-12-11 26 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(); 
}