📅  最后修改于: 2023-12-03 15:24:36.695000             🧑  作者: Mango
在 JavaScript 中,我们常常使用 forEach()
循环来遍历数组或类数组对象。但是,有些情况下我们需要遍历 HTML 元素而不是数组,此时我们可以使用以下两种方式来实现。
let elements = document.getElementsByClassName('my-class');
for (let i = 0; i < elements.length; i++) {
console.log(elements[i]);
}
在这个示例中,我们首先使用 document.getElementsByClassName()
方法获取所有带有 my-class
类名的元素。接着,我们使用普通的 for
循环来遍历这些元素。
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()
循环不会影响到我们的开发。