This question already has answers here:
What do querySelectorAll and getElementsBy* methods return?
(11个答案)
5年前关闭。
您好,我正在尝试使用关闭点击关闭div。
这是代码
但是在控制台中有一个错误
未捕获的TypeError:closeIcon.addEventListener不是一个函数(匿名函数)@ main.js:14
请告诉我我在哪里做错了...谢谢。
(11个答案)
5年前关闭。
您好,我正在尝试使用关闭点击关闭div。
这是代码
var closeIcon=document.getElementsByClassName('.monique-close-icon');
function closeBigImgAndContainer()
{
MoniqueDiv.style.display= "none";
currentBigImageToDisplay.style.display="none";
};
closeIcon.addEventListener("click", closeBigImgAndContainer);
但是在控制台中有一个错误
未捕获的TypeError:closeIcon.addEventListener不是一个函数(匿名函数)@ main.js:14
请告诉我我在哪里做错了...谢谢。
最佳答案
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);
}
关于javascript - addEventListener不是函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32151704/