我正在尝试使用classList将名为“ blackbackdrop”的类添加到每个具有名为“ icon”的类的元素中。
不幸的是,由于错误TypeError: elements.classList is undefined
我正在使用以下代码:
function blackBackDropIcon() {
var elements = document.getElementsByClassName("icon");
elements.classList.add('blackbackdrop');
}
答案 0 :(得分:2)
尝试
function blackBackDropIcon() {
var elements = document.getElementsByClassName("icon");
for (i = 0; i < elements.length; i++) {
elements[i].classList.add('blackbackdrop');
}
}
答案 1 :(得分:1)
这不是jQuery,您不能通过引用元素列表在所有元素上添加类。您必须迭代所有元素,例如:
Array.from(document.getElementsByClassName("icon"))
.foreach(elt => elt.classList.add('blackbackdrop'))
答案 2 :(得分:1)
它返回数组,因此您需要通过循环添加数组的所有元素并逐一添加。
这是代码...
function blackBackDropIcon() {
var elements = document.getElementsByClassName("icon");
for (a = 0; a < elements.length; a++) {
elements[a].classList.add('blackbackdrop');
}
}
说明: 您不能直接给所有元素数组类,而可以通过array给它。
答案 3 :(得分:1)
这是我完成这项任务的方式:
var topics = document.querySelectorAll(".topic");
for (i = 0; i < topics.length; i++) {
topics[i].classList.remove('displayed-element');
topics[i].classList.add('hidden-element');
}