当我们想要获取多个DOM节点,并对每一个DOM节点都进行操作时,就需要使用类数组的遍历。
方法一:for循环遍历(比较耗性能,一般不用)
let tranche = document.getElementsByClassName("modify__quarter-date")
for(let i = 0; i < tranche.length; i++) {
tranche[i].style.display = "none"
}
方法二:slice和call将类数组转化为数组
let tranche = [].slice.call(document.getElementsByClassName("modify__quarter-date"))
tranche.forEach(item => {
item.style.display = "none"
})
说明:
①[ ]表示数组的实例,[ ].slice表示将数组整个进行返回,call表示将作用域提升到
document.getElementsByClassName("modify__quarter-date")
这个类数组中。
②foreach 语法:
[ ].forEach(function(value,index,array){
// code
});
方法三:ES6中的...扩展运算符
let tranche = [...(document.getElementsByClassName("modify__quarter-date"))]
for(let item of tranche){
item.style.display = "none"
}
说明:
①for of无法循环遍历对象
②for of不会遍历自定义属性
③for of遍历的是数组的值,而不是索引