I have a div with the id ring-preview, it has a unspecifed number of img elements with the class stone-preview inside it.
You can use a .each() in these cases, like this:
$("#ring-preview img.stone-preview").each(function(i) {
$(this).rotate(ring.stones[i].stone_rotation);
});
The first parameter to the callback function is the index you're after.
You're looking for the .each() method.
For example:
$('.ring-preview').children('img').each(function(i) {
$(this).rotate(ring.stones[i].stone_rotation);
});
If the <img> elements aren't direct children, you'll need to call .find instead of .children.
$('#ring-preview img.stone-preview').each(function(idx, itm) {
$(itm).rotate(stones[idx].stone_rotation);
});