У меня есть метод, который принимает параметр объекта JQuery и вычисляет итоги для раздела. Поэтому, если вы дадите ему объект JQuery для div, содержащего раздел, он вычислит для него общую сумму.
так что вы можете сделать это:
var $ totalcompletion = CalculateSectionCompletion (jQuery ("# Section1"));
Теперь у меня есть несколько div с классом контейнера раздела. Я хочу иметь возможность вызывать вышеуказанный метод для любого div с этим классом.
Я делаю это:
jQuery ("div.SectionContainer"). каждый (
функция (i, valueOfElement) {
CalculateSectionCompletion (значениеOfElement);
});
Проблема в том, что valueOfElement на самом деле является объектом DOM, а не объектом JQuery, поэтому я не могу передать это своему методу.
Есть ли способ перебрать все объекты JQuery, выбранные запросом, без написания грязного кода для извлечения идентификатора из объекта DOM, вызова JQuery (valueOfElement.id) и его передачи?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете заключить любой элемент 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();
}