我正在通過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