3 回答
TA贡献1883条经验 获得超3个赞
您需要迭代结果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>
TA贡献1842条经验 获得超12个赞
您需要循环,因为 querySelectorAll 中的 All 返回一个节点列表,但您也应该对学生使用 forEach 我将其包装在扩展中以处理早期的 EDGE 浏览器
students.forEach(student => { /*something happens here */}); [...document.querySelectorAll(".checkMarks")].forEach(chk => chk.classList.add("green-color"));
如果只有一个复选标记,您可以document.querySelector(".checkMarks").classList.add("green-color")
不使用all
,但是 vanilla JS 不支持像等效的 jQuery 那样一次性添加到列表 $(".checkMarks").addClass("green-color")
中
TA贡献1860条经验 获得超9个赞
就我个人而言,我会使用for...of循环(ES6):
const divs = document.querySelectorAll(".checkMarks");
for (const div of divs) {
div.classList.add("green-color");
}
.green-color {
color: green;
}
<div class="checkMarks">DIV1</div>
<div class="checkMarks">DIV2</div>
<div class="checkMarks">DIV3</div>
<div class="checkMarks">DIV4</div>
<div class="checkMarks">DIV5</div>
<div class="checkMarks">DIV6</div>
<div class="checkMarks">DIV7</div>
添加回答
举报