Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在for循环中使用.getElementsByCassName()隐藏HTML元素_Javascript_Css_For Loop_Onclick - Fatal编程技术网

Javascript 如何在for循环中使用.getElementsByCassName()隐藏HTML元素

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"

我试图使用getElementsByCassName,通过onclick函数隐藏HTML元素。 我使用for循环来迭代由getElementsByClassName创建的数组

但这样我就得到了一个: 未捕获的TypeError:无法读取未定义的属性“style” 在HtmlLevel.circles..onclick

有什么想法吗? 先谢谢你

<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欢迎您。你可以选择它作为最佳答案。