Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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 在使用For循环JS时分配变量_Javascript_Html_Arrays_For Loop_Dom - Fatal编程技术网

Javascript 在使用For循环JS时分配变量

Javascript 在使用For循环JS时分配变量,javascript,html,arrays,for-loop,dom,Javascript,Html,Arrays,For Loop,Dom,我试图学习如何使用for循环来创建和分配变量。我有一个使用以下工具收集的项目列表: document.getElementsByClassName("category-item-link") 它返回: [a.category-item-link, a.category-item-link, a.category-item-link, a.category-item-link, a.category-item-link, a.category-item-link] 我的目标是使用for循环将每

我试图学习如何使用for循环来创建和分配变量。我有一个使用以下工具收集的项目列表:

document.getElementsByClassName("category-item-link")
它返回:

[a.category-item-link, a.category-item-link, a.category-item-link, a.category-item-link, a.category-item-link, a.category-item-link]

我的目标是使用
for
循环将每个项分配给一个名为link[0]-link[5]的变量。

因为它已经返回一个元素集合,所以您可以这样做(我将
link
转换为一个数组,这样您就可以只看到元素):

var link=[…document.getElementsByClassName(“类别项链接”);
控制台日志(链接)
链接
链接
链接
链接
链接

Link
getElementsByClassName
返回包含元素集合的对象。因此,您已经可以通过以下方式访问名为link[0]-link[5]的变量的每个项:

const link = document.getElementsByClassName("category-item-link")
但是,为了练习for循环,您可以执行以下操作:

const objs = document.getElementsByClassName("category-item-link")
const link = []

for (let i = 0; i < objs.length; i++) {
    link[i] = objs[i]
}

getElementsByClassName
已返回元素集合
var link=document.getElementsByClassName(“类别项目链接”)
?感谢您的输入!谢谢你的解释。我不知道我必须在for循环之前创建一个空列表:const link=[]也在for循环中,我一直把var放在前面,并得到“Uncaught SyntaxError:Unexpected token[”。对编码本身还是新手,只是想知道为什么我不应该有var.for(让I=0;Iconst objs = document.getElementsByClassName("category-item-link") const link = [] for (const obj of objs) { link.push(obj) }