要让数组循环内的.click函数中的链接工作,可以使用以下方法:
下面是一个示例代码:
// 假设有一个包含链接信息的数组
var links = [
{ id: 1, url: 'https://www.example.com/page1' },
{ id: 2, url: 'https://www.example.com/page2' },
{ id: 3, url: 'https://www.example.com/page3' }
];
// 获取父元素
var parentElement = document.getElementById('parent');
// 使用事件委托将点击事件绑定到父元素上
parentElement.addEventListener('click', function(event) {
// 检查点击的元素是否为链接
if (event.target.tagName === 'A') {
// 获取链接的ID
var linkId = event.target.dataset.linkId;
// 在数组中查找对应的链接信息
var link = links.find(function(item) {
return item.id === parseInt(linkId);
});
// 打开链接
window.open(link.url);
}
});
// 在循环中生成链接的HTML
links.forEach(function(link) {
var linkElement = document.createElement('a');
linkElement.href = '#';
linkElement.textContent = 'Link ' + link.id;
linkElement.dataset.linkId = link.id;
parentElement.appendChild(linkElement);
});
在上述示例中,我们使用了事件委托将点击事件绑定到父元素上,并通过事件对象的target属性来判断点击的元素是否为链接。然后,我们根据链接的ID在数组中查找对应的链接信息,并打开链接。通过使用闭包,我们可以在事件处理程序中访问到循环内的数据。
请注意,上述示例中的代码是基于纯JavaScript的,没有涉及到任何特定的云计算品牌商的产品。
领取专属 10元无门槛券
手把手带您无忧上云