Javascript 如何在for循环中使用.getElementsByCassName()隐藏HTML元素
我试图使用getElementsByCassName,通过onclick函数隐藏HTML元素。 我使用for循环来迭代由getElementsByClassName创建的数组 但这样我就得到了一个: 未捕获的TypeError:无法读取未定义的属性“style” 在HtmlLevel.circles..onclick 有什么想法吗? 先谢谢你Javascript 如何在for循环中使用.getElementsByCassName()隐藏HTML元素,javascript,css,for-loop,onclick,Javascript,Css,For Loop,Onclick,我试图使用getElementsByCassName,通过onclick函数隐藏HTML元素。 我使用for循环来迭代由getElementsByClassName创建的数组 但这样我就得到了一个: 未捕获的TypeError:无法读取未定义的属性“style” 在HtmlLevel.circles..onclick 有什么想法吗? 先谢谢你 <div class="circle" id="red-circle"></div> <div class="circle"
<div class="circle" id="red-circle"></div>
<div class="circle" id="blue-circle"></div>
<div class="circle" id="yellow-circle"></div>
===============================================
const circles = document.getElementsByClassName("circle")
for(var i = 0; i < circles.length; i++) {
circles[i].onclick = () => {
circles[i].style.display = "none"
}
}
const circles=document.getElementsByClassName(“圆”)
对于(变量i=0;i{
圆圈[i].style.display=“无”
}
}
您应该更改箭头功能:
for(var i = 0; i < circles.length; i++) {
circles[i].onclick = (e) => {
e.currentTarget.style.display = "none"
}
}
for(变量i=0;i{
e、 currentTarget.style.display=“无”
}
}
e
表示鼠标事件,currentTarget
是单击的元素。就是它!非常感谢Saman Gholami。@PauloRigter欢迎您。你可以选择它作为最佳答案。