addEventListener不是一个函数

Mar*_*ini 3 javascript

嗨,我试图使用关闭点击关闭div ..这是代码

var closeIcon=document.getElementsByClassName('.monique-close-icon');  

    function closeBigImgAndContainer()
{
    MoniqueDiv.style.display= "none";
    currentBigImageToDisplay.style.display="none";
};

closeIcon.addEventListener("click", closeBigImgAndContainer);
Run Code Online (Sandbox Code Playgroud)

但是在控制台中有一个错误 Uncaught TypeError:closeIcon.addEventListener不是一个函数(匿名函数)@ main.js:14 请告诉我我在哪里做错了...谢谢.

sya*_*ani 10

getElementsByClassName返回元素数组,addEventListener存在于元素上.

修复方法是从getElementsByClassName迭代结果集并在每个项目上调用addEventListener:

var closeIcons=document.getElementsByClassName('.monique-close-icon');  

function closeBigImgAndContainer()
{
    MoniqueDiv.style.display= "none";
    currentBigImageToDisplay.style.display="none";
};

for (i = 0; i < closeIcons.length; i++) {
    closeIcons[i].addEventListener("click", closeBigImgAndContainer);
}
Run Code Online (Sandbox Code Playgroud)