【发布时间】:2017-07-17 17:50:43
【问题描述】:
我有一些“预览”类的元素。我想让其中一个可点击,所以首先我想通过
找出它在 HTML 集合中的索引号console.log(document.getElementsByClassName("preview"));
这确实返回了一个 HTML 集合,我可以在其中看到所需元素的索引号是 3。
现在我想为其分配一个事件侦听器,但它返回“无法将'addEventListener'分配给未定义”
document.getElementsByClassName("preview")[3].addEventListener("click","someFunction()")
【问题讨论】:
-
您使用的是 0 基索引吗?
-
你不需要使用""来调用一个函数。所以应该是 document.getElementsByClassName("preview")[3].addEventListener("click",someFunction())
-
如果有3个元素,应该是
.getElementsByClassName("preview")[2]而不是.getElementsByClassName("preview")[3]。 -
这个数字不应该是2吗?
-
继续@AnamulHasan 的评论,声明事件处理程序时不需要括号。应该是
document.getElementsByClassName("preview")[3].addEventListener("click",someFunction)
标签: javascript html undefined addeventlistener nodelist