javascript - 将类添加到 for 循环中的所有元素
问题描述
我有一个 for 循环来完成某个任务。现在在那个 for 循环中,在最后一次迭代中,我需要将该green-color
类添加到所有具有该类的元素中checkMarks
。
这是我的代码,目前它只将green-color
类添加到第一个元素。有没有办法做到这一点,而不必在当前的 for 循环中使用另一个 for 循环?
const studentLength = 24;
for(let i=0; i<studentLength; i++){
//something happens here
if(i===studentLength ){ //if last iteration
document.querySelectorAll(".checkMarks").classList.add("green-color");
}
}
解决方案
您需要迭代结果querySelectorAll
并将该类应用于每个元素:
document.querySelectorAll(".checkMarks").forEach(e => e.classList.add("green-color"));
.green-color {
color: green;
}
<div class="checkMarks">TEST</div>
<div class="checkMarks">TEST2</div>
<div class="checkMarks">TEST3</div>
<div class="checkMarks">TEST4</div>
<div class="checkMarks">TEST5</div>
<div class="checkMarks">TEST6</div>
<div class="checkMarks">TEST7</div>
推荐阅读
- python - 你能告诉我为什么我只收到 * 作为输出而不是最初输入的字符串,作为解密的字符串?
- c# - 如何在 .NET Roslyn API 中获取其他继承类的继承类的值?
- python - 无法理解为什么此代码会产生此输出
- google-cloud-platform - GCP Cloud Composer - 无法将大文件下载到数据文件夹
- android - clicklistener 在 recyclerview 中不起作用
- python - 删除具有重叠项目的行
- php - 如何在php中的数组中包含一个集合?
- java - 如何在android 11中从Uri获取真实路径
- python - 在 Square 子类的 __init()__ 函数中使用 super() 时,Square 对象有什么属性?
- apache-spark - Spark - 本地模式与纱线模式