js 如何循环getElementsByClassName获取的值
时间: 2023-08-11 14:35:19 浏览: 134
可以使用 for 循环遍历获取到的元素数组,例如:
```javascript
var elements = document.getElementsByClassName('example');
for(var i=0; i<elements.length; i++) {
console.log(elements[i].innerText);
// do something with each element
}
```
这里的 `getElementsByClassName` 方法返回的是一个类数组对象,需要通过索引访问其中的每一个元素。在循环中可以使用索引变量 `i` 来逐个访问元素,然后进行相应的操作。
相关问题
document.getElementsByClassName获取的元素对象怎么遍历
document.getElementsByClassName获取的是一个类名匹配的元素对象集合,可以通过以下方式进行遍历:
1. 使用for循环遍历:
```javascript
var elements = document.getElementsByClassName("className");
for (var i = 0; i < elements.length; i++) {
// 对每个元素执行操作
console.log(elements[i]);
}
```
2. 使用forEach方法遍历(需要将元素对象集合转换为数组):
```javascript
var elements = Array.from(document.getElementsByClassName("className"));
elements.forEach(function(element) {
// 对每个元素执行操作
console.log(element);
});
```
3. 使用ES6的for...of循环遍历(需要将元素对象集合转换为数组):
```javascript
var elements = Array.from(document.getElementsByClassName("className"));
for (var element of elements) {
// 对每个元素执行操作
console.log(element);
}
```
以上是三种常用的遍历方式,可以根据具体需求选择适合的方式进行遍历。
document.getElementsByClassName获取不同类名的元素
可以使用以下方法来获取不同类名的元素:
1. 使用querySelectorAll方法来选择多个类名:
```javascript
var elements = document.querySelectorAll('.class1, .class2');
```
2. 使用getElementsByClassName方法来获取一个类名,然后再使用循环来检查是否包含其他类名:
```javascript
var elements = document.getElementsByClassName('class1');
var result = [];
for (var i = 0; i < elements.length; i++) {
if (elements[i].classList.contains('class2')) {
result.push(elements[i]);
}
}
```
这将返回所有具有class1和class2类名的元素。