📜  如何在不使用 JavaScript 中的 forEach() 循环的情况下遍历 HTML 元素?(1)

📅  最后修改于: 2023-12-03 15:24:36.695000             🧑  作者: Mango

如何在不使用 JavaScript 中的 forEach() 循环的情况下遍历 HTML 元素?

在 JavaScript 中,我们常常使用 forEach() 循环来遍历数组或类数组对象。但是,有些情况下我们需要遍历 HTML 元素而不是数组,此时我们可以使用以下两种方式来实现。

1. 使用 for 循环
let elements = document.getElementsByClassName('my-class');

for (let i = 0; i < elements.length; i++) {
  console.log(elements[i]);
}

在这个示例中,我们首先使用 document.getElementsByClassName() 方法获取所有带有 my-class 类名的元素。接着,我们使用普通的 for 循环来遍历这些元素。

2. 使用 for...of 循环
let elements = document.getElementsByClassName('my-class');

for (let element of elements) {
  console.log(element);
}

这种方法与第一种方法类似,只不过我们使用了 for...of 循环来遍历元素。

需要注意的是,for...of 循环只能用于可迭代对象,而 getElementsByClassName() 方法返回的是一个 HTML 集合,它并不是一个可迭代对象。但是,我们可以将它转换成数组来实现类似可迭代对象的功能。

let elements = document.getElementsByClassName('my-class');
let elementsArray = Array.from(elements);

for (let element of elementsArray) {
  console.log(element);
}

这里我们使用了 Array.from() 方法将 HTML 集合转换成了数组,然后就可以使用 for...of 循环遍历这个数组了。

总的来说,使用普通的 for 循环或者 for...of 循环都可以遍历 HTML 元素,不使用 forEach() 循环不会影响到我们的开发。