gpt4 book ai didi

javascript - getElementsByClassName[i] 返回未定义

转载 作者:行者123 更新时间:2023-11-30 21:21:25 25 4
gpt4 key购买 nike

我有一些元素属于“预览”类。我想让其中一个可以点击,所以首先我想通过

找出它在 HTML 集合中的索引号
console.log(document.getElementsByClassName("preview"));

这确实返回了一个 HTML 集合,我可以在其中看到所需元素的索引号是 3。

现在我想为其分配一个事件监听器,但它返回“无法将‘addEventListener’分配给未定义”

document.getElementsByClassName("preview")[3].addEventListener("click","someFunction()")

最佳答案

如果只有 3 元素具有 preview 类,则此集合的最后一个索引是 2 而不是 3 作为 NodeList 集合是 0 索引,就像任何其他 array

改变这个:

document.getElementsByClassName("preview")[3].addEventListener("click","someFunction()")

以下内容:

document.getElementsByClassName("preview")[2].addEventListener("click",someFunction)

注意:

  • 请注意,我删除了包装回调函数的 ""addEventListener,并且去掉了两个括号,所以附加事件监听器时不会调用函数。
  • 确保在页面完全加载后调用您的代码。

关于javascript - getElementsByClassName[i] 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45150601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com