Jquery перебирает дочерние элементы
У меня есть div
с id ring-preview
, у него есть неопределенное число img
элементов с классом stone-preview
внутри него.
Я хотел бы выполнить итерацию по каждому из этих дочерних изображений и вызвать:
$(this).rotate(ring.stones[i].stone_rotation);
Где this
относится к элементу img
, а i
относится к его позиции в div
.
Как я могу это сделать?
Ответы
Ответ 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);
});