我正在通过O'Reilly jQuery Cookbook。在p.65中,有一个例子对我来说看起来不太合适,但我对jQuery不太熟悉(不到一周),所以我认为我很可能是一个感到困惑的人。jQuery.map()和迭代
该代码打算从有序列表中获得前三项&对它们做些什么;为了简单起见(在书的部分),选择器中只有一个列表。
他们给出了下面的代码(我稍微简化了一下,但没有在相关部分);外层的两层当然是样板文件(关闭,因此$
将按需要工作,并且代码在页面加载时发生这种情况)。
(function($){
$(document).ready(function(){
var arr = $.map($('li'), function(item, index){
while (index < 3)
{
return $(item).html();
}
return null;
});
/* do something with the resulting array;
I've deliberately simplified from the book here */
alert(arr.join(",");
});
})(jQuery);
的显式迭代(while
)没有道理给我。据我了解,内部匿名函数应该为数组的每个元素调用一次,所以我期望if
,而不是while
。
的第一包装是不是'document.ready'处理程序。 – 2010-10-29 16:39:18
也不是。今天真糟糕! – lonesomeday 2010-10-29 16:40:25
明白了。当然,回报可以避免实际上不正确,但'如果'会更加清晰。 – 2010-10-29 16:46:42