JavaScript是我一點一點學習的東西,所以請原諒我的無知......!
我在畫廊中有一個影像串列,我正在點擊事件上創建一個模式。我設法將影像的所有來源收集到一個陣列中,然后使用 forEach 方法將 li 和 img 標簽附加到父 ul 中,所有來源都進入 src 屬性。
我的問題是我也有一組 alt 屬性,我還需要將它們設定到相同的影像串列中。
我不認為我可以在一個 forEach 回圈中執行這兩個屬性,并且為 alt 屬性執行第二個回圈似乎太麻煩了。一定有更簡單的方法,只是超出了我目前的理解。
下面是我已經擁有的代碼,我想知道是否應該查看 JSON 物件而不是這種方法?
$('.gallery-image img').click(function(){
$('.modal').addClass('show');
var images = document.getElementsByClassName('aurora-gallery-image');
var imageSources = [];
var imageTitles = [];
for (var i = 0; i < images.length; i ) {
imageSources.push(images[i].src);
imageTitles.push(images[i].alt);
}
imageSources.forEach(imageFunction);
function imageFunction(item){
$('.image-modal ul').append('<li ><img alt="如何使用 JavaScript 在影像標簽上設定 src 和 alt 屬性" src="' item '" /><p id="aurora-gallery-image-title"> </p></li>');
}
});
uj5u.com熱心網友回復:
forEach()將陣列索引作為第二個引數傳遞給回呼函式。imageTitles您可以使用它從陣列中獲取相應的元素
function imageFunction(item, index){
$('.image-modal ul').append(`<li ><img alt="如何使用 JavaScript 在影像標簽上設定 src 和 alt 屬性" src="${item}" /><p id="aurora-gallery-image-title"> </p></li>`);
}
但是您根本不需要陣列。只需在for回圈中執行:
for (let i = 0; i < images.length; i ) {
$('.image-modal ul').append(`<li ><img alt="如何使用 JavaScript 在影像標簽上設定 src 和 alt 屬性" src="${images[i].src}" /><p id="aurora-gallery-image-title"> </p></li>`);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/424484.html
標籤:javascript 数组 循环
