【发布时间】:2011-01-20 06:16:00
【问题描述】:
在produce the same results 看来,这两种方法似乎都是如此,但我很难真正说服人们第二种方法有效,因为它显然并不为人所知。
// 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();
我错了吗?
【问题讨论】:
-
我看不出问题出在哪里。
$(o).each()致电jQuery.each(this, callback, args)。你还需要什么确认/说服力? -
@voyager:我只是想确定我没有弄错。我想像这样的项目可能会引起其他 jQuery 开发人员的兴趣,有人可能会添加一些区别。
-
很公平。似乎差异更多的是样式问题而不是功能问题。当然,现在您可以将不信服的用户指向某个地方。
-
@voyager:也许您应该将这一点带入答案;)