Оба метода, по-видимому, дают одинаковые результаты , но мне было трудно убедить людей в том, что второй метод работает, поскольку он, по-видимому, широко не известен.
// Create some data
var foo = { 'vals':[ {'id':'foo'}, {'id':'bar'} ] };
// Common Method
$.each(foo.vals, function(i,o){
alert(this.id);
});
// Alternative (lesser-known?) Method
$(foo.vals).each(function(i,o){
alert(this.id);
});
После проверки источника эти два выглядят одинаково. Второй метод следующий:
each: function( callback, args ) {
return jQuery.each( this, callback, args );
}
Этот метод явно вызывает более известный метод, то есть он такой же законный. Это понимание правильно, или я что-то здесь упускаю?
Как правило, я доверял этому методу, поскольку он не заставлял меня отклоняться от стандартной практики в отношении селекторов. Посмотрим правде в глаза, мы обучены делать:
$("p").each();
Так что это кажется естественным:
$(obj).each();
Я ошибаюсь?