对象HTMLcollection[0]一直返回未定义

object HTMLcollection[0] keeps returning undefined

本文关键字:一直 返回 未定义 HTMLcollection 对象      更新时间:2023-09-26

假设我们有这样的东西:

<a href="1" class="my-list">1</a>
<a href="2" class="my-list">2</a>
<a href="3" class="my-list">3</a>

当我尝试类似的东西时

alert(document.getElementsByClassName("my-list"))

我得到object HTMLCollection。如果我尝试类似alert(document.getElementsByClassName("my-list")[0])的东西,我会得到undefined。如何获取列表中的第一个href?所以在这种情况下它将是"1"

在Fiddler中检查此项。将document.getElementsByClassName("my-list")放在圆括号中,然后将索引[0]添加到其中。

**UPDATE**: Use `window.onload` to perform operations after all DOM elements 
are loaded.
window.onload = function()
{ 
   alert((document.getElementsByClassName("my-list"))[0])
}
<a href="http//:www.google.com/" class="my-list">1</a>
<a href="http//:www.facebook.com/" class="my-list">2</a>
<a href="http//:www.sample.com/" class="my-list">3</a>

如果在HTML标头中添加脚本,则可能会发生这种情况。在本例中,您看到了HTMLCollection;但是,这些项目将是空的。

将脚本移动到HTML正文的底部。

此外,请务必检查您的代码,我在使用querySelector时遇到了这个问题。如果使用querySelector,它只返回一个元素(迭代时将返回undefined),而querySelectorAll则创建一个可以迭代的html集合。