Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数组在0处有一个元素,但当放入console.log时未定义_Javascript_Dom - Fatal编程技术网

Javascript 数组在0处有一个元素,但当放入console.log时未定义

Javascript 数组在0处有一个元素,但当放入console.log时未定义,javascript,dom,Javascript,Dom,我正在运行以下脚本: const myVar = document.getElementsByClassName('pricing-custom-header-links'); console.log(myVar); console.log(myVar[0]); 我得到了输出: ---------------------------------------- HTMLCollection [] 0: li.headerLink.vdm.keep.pricing-custom-heade

我正在运行以下脚本:

const myVar = document.getElementsByClassName('pricing-custom-header-links');
console.log(myVar);
console.log(myVar[0]);
我得到了输出:

----------------------------------------
HTMLCollection []
    0: li.headerLink.vdm.keep.pricing-custom-header-links 
    1__proto__: HTMLCollection
-----------------------------------------
undefined
-----------------------------------------

这似乎毫无意义。第一个日志告诉我,我们有一个类似于数组的对象,它具有我想要定位的正确元素。伟大的然后,当我试图显式地访问该元素时,它告诉我它是未定义的,并且那里没有元素。发生这种情况的原因是什么?

在我看来,类名拼写错误。如果查看第一个输出,可以看到数字“0”,这表明元素不存在或类名拼写不正确。请仔细检查是否正确。

似乎建议使用HTMLCollection.item()访问节点。此外,如果索引超出范围,它将返回null而不是undefined,因此您可以更轻松地找到问题。

Java不使用
const
。您使用的是JavaScript而不是Java吗?它们是非常不同的语言,我想你知道用哪种语言编程。我使用的是JavaScript。在@Lone_Coder编辑该问题之前,它一直在这个问题的标签中,您使用的是java而不是javascript标签。这是因为它(
myVar
)是一个HTML集合,看起来类似于数组,但不是数组,所以要使它成为数组,请使用扩展运算符,如
const arr=[…myVar]
,然后作为
arr[0]登录
执行
console.log(myVar.item(0))时仍然返回null是否有可能您在类名中输入了一个错误?检查HTMLCollection.length以确保未获得空数组。