Подтвердить что ты не робот

Jquery перебирает дочерние элементы

У меня есть div с id ring-preview, у него есть неопределенное число img элементов с классом stone-preview внутри него.

Я хотел бы выполнить итерацию по каждому из этих дочерних изображений и вызвать:

$(this).rotate(ring.stones[i].stone_rotation);

Где this относится к элементу img, а i относится к его позиции в div.

Как я могу это сделать?

4b9b3361

Ответ 1

Вы ищете метод .each().
Например:

$('.ring-preview').children('img').each(function(i) { 
    $(this).rotate(ring.stones[i].stone_rotation);
});

Если элементы <img> не являются прямыми дочерними элементами, вам нужно вызвать .find вместо .children.

Ответ 2

В этих случаях вы можете использовать .each(), например:

$("#ring-preview img.stone-preview").each(function(i) {
  $(this).rotate(ring.stones[i].stone_rotation);
});

Первым параметром функции обратного вызова является индекс, который вы после.

Ответ 3

$('#ring-preview img.stone-preview').each(function(idx, itm) {
    $(itm).rotate(stones[idx].stone_rotation);
});