#jquery #arrays #indexing #foreach
#jquery #массивы #индексация #инструкция foreach
Вопрос:
Во-первых, я новичок в этом, и я учусь, поэтому не судите мой код слишком строго. У меня есть массив объектов, которые включают src изображений для миниатюр, и мне нужно добавить их в контейнер div, где отображаются миниатюры. Но тогда мне нужно знать, на какой из этих миниатюр был сделан щелчок. Я показываю пример одного из объектов из массива. Я использую эту структуру jQuery для добавления миниатюр:
let avenue = { photo: 'gallery/avenue.jpg', title: 'Avenue', description: 'Beautiful road with rays of sunlight coming through the mist'
};
let data = [avenue, school, street, block]; data.forEach((item,index) =gt; { let imgsrc = data[index].photo; $('.thumbsbox').append('lt;img class="thumbnail" data-index="${index}" src= "' imgsrc '"gt;'); });
Моя проблема в том, что он создает эскизы, как и должно быть, но мне нужен индекс данных, чтобы показать фактический номер индекса объекта из массива. Теперь на элементе inspect он показывает только: «${индекс}» на каждом миниатюре.
Есть идеи, как сделать этот индекс данных фактическим номером индекса этих объектов?
Большое вам спасибо за ваши ответы
Ответ №1:
Вы можете использовать тот же способ, которым вы использовали для отображения imgsrc, обрабатывая переменную индекса как строку. в нем должно быть написано индекс
$('.thumbsbox').append('lt;img class="thumbnail" data-index="' index '" src= "' imgsrc '"gt;');
Комментарии:
1. О боже мой! Большое спасибо. Я только учусь, и я знал, что был так близок, но не мог найти проблему. Ваше решение сработало! 🙂 Еще раз спасибо.