JQuery, получить идентификатор каждого элемента в классе с использованием .each?

Я пытаюсь получить id каждого элемента в class, но вместо этого он предупреждает каждое имя класса отдельно, поэтому для class="test" он предупреждает: t, e, s, t... Приветствуется любой совет о том, как получить каждый элемент id, который является частью class, поскольку я не могу понять этого. Спасибо.

$.each('test', function() { 
   alert(this)
});

Ответ 1

Попробуйте это, заменив .myClassName на фактическое имя класса (но сохраните период в начале).

$('.myClassName').each(function() {
    alert( this.id );
});

Итак, если класс "test", вы бы сделали $('.test').each(func....

Это конкретный вид .each(), который выполняет итерацию над объектом jQuery.

Форма, которую вы использовали, итерации по любому типу коллекции. Таким образом, вы по существу повторяли массив символов t,e,s,t.

Используя эту форму $.each(), вам нужно сделать это следующим образом:

$.each($('.myClassName'), function() {
    alert( this.id );
});

... который будет иметь тот же результат, что и пример выше.

Ответ 2

Ответ на

patrick dw - это правильно.

Для пинков и хихиканья я думал, что отправлю простой способ вернуть массив из всех идентификаторов.

var arrayOfIds = $.map($(".myClassName"), function(n, i){
  return n.id;
});
alert(arrayOfIds);