为什么这不起作用?
const desktop = document.getElementsByClassName("desktop");
const enableDarkMode = () => {
desktop.classList.add('night_mode');
}
在控制台中显示“未捕获类型错误:无法读取未定义的属性‘add’”。 我该如何修复它?
最佳答案
getElementsByClassName
返回一个集合,而不是单个元素。因此,您需要迭代节点列表并应用该类。
示例:
const divs = document.getElementsByClassName("desktop");
for (let i = 0; i < divs.length; i++) {
const div = divs[i];
div.classList.add('night_mode');
}
.night_mode {
background: black;
color: white;
}
<div class="desktop">Desktop</div>
<div class="desktop">Desktop</div>
<div class="desktop">Desktop</div>
<div class="desktop">Desktop</div>
<div class="desktop">Desktop</div>
<div class="desktop">Desktop</div>
关于javascript - classList.add(未捕获的类型错误 : Cannot read property 'add' of undefined),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60122152/