javascript - 如何捕获迭代数组的索引(Javascript)

标签 javascript arrays indexing

我试图在每次迭代时获取数组内的索引,但我只获取该数组的长度。我该怎么办?

我在HTML代码中创建了一个其他div的外部,每个div都包含一张带有小图标的照片来打开模态,所以我希望模态外部的图像源发生变化并获取值每次当我单击图像时,该索引(在带有小图像的数组中)。非常感谢您的帮助 :) 这是我的代码:

for (var i = 0; i < zoom.length; i++)
{
    zoom[i].addEventListener('click', () => 
    {
        openModal();
    })
}

function openModal()
{
        j = i;
        image.src = './img/screenshotSite' + j + '.png';
        modal.style.display = 'block';
        document.getElementsByTagName('*')[0].style.overflow = 'hidden';

}

最佳答案

您可以使用forEach 循环遍历数组。这确保了作为参数传递给 openModal 时索引值的正确性:

// I suppose this is an HTMLCollection, so need this to transform into an array
[...zoom]
  .forEach( (element, index) =>
    element.addEventListener('click', () => openModal(index) )
  );

function openModal(index)
{
  image.src = './img/screenshotSite' + index + '.png';
  modal.style.display = 'block';
  document.getElementsByTagName('*')[0].style.overflow = 'hidden';
}

关于javascript - 如何捕获迭代数组的索引(Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65054011/

相关文章:

php - MySQL:有索引和小文件排序更好还是没有索引和文件排序更好?

javascript - 如何停止从 javascript 播放 flash 对象

javascript - 使用 JavaScript 进行功能分配?

javascript - jsf PrimeFaces 如何关闭模态表单

c - 为什么要声明一个数组类型的参数?

java - JUnit 3 - 数组包含给定元素

Python:IndexError:列表索引超出范围

html - 命名一个页面index.html有变化吗?

javascript - 滚动页面时如何准确定位 div 相对于鼠标指针的位置?

javascript - jQueryMobile 和 javascript 文件包含 : potential risks