Javascript 从列表单击时获取事件委派属性

Javascript 从列表单击时获取事件委派属性,javascript,Javascript,我尝试使用event.target.getAttribute('href')获取href属性,但由于事件委派事件。目标似乎设置为span或i <a href="#gallery"> <i class="fa fa-camera"></i> <span class="menu-text">Gallery</span> </a> <a href="#download"> <i class="fa f

我尝试使用
event.target.getAttribute('href')
获取href属性,但由于事件委派<代码>事件。目标似乎设置为
span
i

<a href="#gallery">
  <i class="fa fa-camera"></i>
  <span class="menu-text">Gallery</span>
</a>
<a href="#download">
  <i class="fa fa-cloud-download"></i>
  <span class="menu-text">Download</span>
</a>   


//script
 for (var i = 0; i < links.length; i++) {
    links[i].addEventListener('click', openMenu);
}
function openMenu(event) {
    event.preventDefault();
    var clickedMenu = event.target.getAttribute('href');
    document.querySelector(clickedMenu).style.display = 'block';
}

//剧本
对于(变量i=0;i

请提供一些指导。我不需要jquery解决方案。

因为您有链接的子元素,
event.target
可能会引用这些元素(如果单击它们)

您可以在处理程序中使用
this
来引用链接元素,另一个选项是使用

var links=document.getElementsByTagName('a');
对于(变量i=0;i
。隐藏{
显示:无;
}

画廊
下载
为什么不试试


event.currentTarget.getAttribute(“href”)

我们能看看你的JS吗?嗨@RayonDabre我已经更新了这个问题。