Я пробираюсь через O'Reilly jQuery Cookbook . На стр.65 есть пример, который мне кажется неправильным, но я новичок в jQuery (меньше недели), поэтому я полагаю, что весьма вероятно, что я тот, кто запутался.
Код намеревается получить первые три элемента из упорядоченного списка и что-то с ними сделать; для простоты (со стороны книги) в селекторе есть только один список на странице.
Они дают следующий код (я немного упростил, но не в соответствующей части); два внешних слоя - это, конечно, шаблон (закрытие, так что $
будет работать как нужно, и код для запуска при загрузке страницы).
(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
.