在使用For循环JS中分配变量

时间:2019-03-21 06:09:25

标签: 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循环将每个项目分配给一个名为link [0]-link [5]的变量。

2 个答案:

答案 0 :(得分:1)

由于它已经返回了元素的集合,因此您可以执行此操作(我将link转换为数组,因此您只能看到元素):

var link = [...document.getElementsByClassName("category-item-link")];
console.log(link);
<a class="category-item-link">Link</a>
<a class="category-item-link">Link</a>
<a class="category-item-link">Link</a>
<a class="category-item-link">Link</a>
<a class="category-item-link">Link</a>
<a class="category-item-link">Link</a>

答案 1 :(得分:0)

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

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

但是,为了练习循环,您可以这样做:

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

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

或类似这样:

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

for (const obj of objs) {
    link.push(obj)
}