我有一些“预览”类的元素。我想让其中一个可点击,所以首先我想通过
找出它在HTML集合中的索引号console.log(document.getElementsByClassName("preview"));
这确实返回了一个HTML集合,我可以看到所需元素的索引号是3。
现在我想为它分配一个事件监听器,但它返回“无法将'addEventListener'分配给未定义的”
document.getElementsByClassName("preview")[3].addEventListener("click","someFunction()")
答案 0 :(得分:1)
如果只包含3
个preview
个元素,那么此集合的最后一个索引为2
而不是3
,NodeList
集合为{ {1}}与任何其他0
一样编入索引。
改变这个:
array
以下内容:
document.getElementsByClassName("preview")[3].addEventListener("click","someFunction()")
注意:强>
document.getElementsByClassName("preview")[2].addEventListener("click",someFunction)
" "
,并删除了两个括号,所以
附加事件监听器时,函数不会被调用。