Ответы, которые предлагают использовать каждый цикл, верны, но если вы используете какой-либо из обратных вызовов (beforeShow, beforeLoad, onUpdate и т. Д.), Есть одна важная деталь, которую нужно понять.
В контексте каждого вашего цикла это относится к элементу, по которому будет щелкнуть.
Но как только вы попадаете в обратный вызов fancybox, это ссылается на объект fancybox.
Хитрость заключается в том, чтобы хранить элементы this в другой переменной, например, that .
Затем обратитесь к , который в вашем обратном вызове.
$('.fancybox').each(function() {
var that = this;
$(this).fancybox({
beforeLoad: function() {
var id = $(that).attr('id');
console.log("id of element clicked is: "+id)
}
});
});