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條經驗 獲得超13個贊
您需要循環,因為 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>
添加回答
舉報