Простая проблема jQuery .each - PullRequest
0 голосов
/ 26 октября 2009

У меня есть UL с 9 тегами привязки, каждый из которых имеет класс «highlight».

Вот немного Javascript с jQuery:

        var titles = $('a.highlight');
        jQuery.each(titles, alert(titles.length));  

Что я ожидаю от этого фрагмента кода: Оповещение 9 раз, номер 9.

Что на самом деле делает этот бит кода: Оповещения 1 раз, номер 9.

Чего мне не хватает?

Ответы [ 3 ]

3 голосов
/ 26 октября 2009

jQuery.each вызывает функцию, которую вы передаете ей для каждого элемента, который он находит в данной коллекции. Вы передаете выражение, которое оценивается немедленно. Вам нужно обернуть выражение в анонимную функцию:

jQuery.each(titles, function() {
    alert(titles.length)
});
0 голосов
/ 26 октября 2009

Вы ищете:

jQuery.each( titles, function( index, title ) {
  console.log( 'the title at index ', index, ' is ', title );
} );

См. документацию для функции each.

0 голосов
/ 26 октября 2009

Я сам новичок, но не должен ли это быть title.each (), а не jQuery.each ()?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...