JavaScript';未定义';getElementsByClassName的错误

JavaScript';未定义';getElementsByClassName的错误,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想得到某个div的子级,该div的类为“vid_div selected”。我得到了正确的div,如下所示: var vid_div = document.getElementsByClassName('vid_div selected'); 但当我试图得到它的孩子时,它是未定义的: var vid = vid_div.children; //this returns undefined getElementsByClassName返回节点列表(节点集合)。您必须指定该集合的索引 var

我想得到某个div的子级,该div的类为“vid_div selected”。我得到了正确的div,如下所示:

var vid_div = document.getElementsByClassName('vid_div selected');
但当我试图得到它的孩子时,它是未定义的:

var vid = vid_div.children; //this returns undefined

getElementsByClassName
返回节点列表(节点集合)。您必须指定该集合的索引

var vid_div = document.getElementsByClassName('vid_div selected');
var vid = vid_div[0].children;

您看到此错误是因为GetElementsByCassName返回一个元素数组。另外,
vid_div
实际上不是节点的
数组,而是
节点列表。它的行为与
数组
基本相同,但您无法在
节点列表上执行
映射
forEach
等操作;您首先需要将其转换为
数组
,通常是通过执行
vid_div.slice(0)
。这是正确的。我也可以说它是集合而不是数组。我会为你编辑的,谢谢!现在开始工作(我是js新手…)