Javascript classList.add有效,但切换不';T

Javascript classList.add有效,但切换不';T,javascript,arrays,toggle,Javascript,Arrays,Toggle,我的HTML 当我这样做的时候 chapter[i].classList.add('active'); “活动”类不会切换。控制台显示没有错误 因此,我尝试先检查“active”类&如果该类存在,则删除该类。我知道我在尝试重新设计切换功能;如上所述,切换不起作用,所以我还是试了一下 chapter[i].classList.toggle('active'); 我收到了大量的错误信息。这就是我所能做到的。我不知怎的觉得这行不通,但还是试了一下 chapter[i].classList.togg

我的HTML

当我这样做的时候

chapter[i].classList.add('active');
“活动”类不会切换。控制台显示没有错误

因此,我尝试先检查“active”类&如果该类存在,则删除该类。我知道我在尝试重新设计切换功能;如上所述,切换不起作用,所以我还是试了一下

chapter[i].classList.toggle('active');
我收到了大量的错误信息。这就是我所能做到的。我不知怎的觉得这行不通,但还是试了一下

chapter[i].classList.toggle('active');
我被难住了

有人能指出classList.toggle在我的代码中不起作用的原因吗?如何解决这个问题


谢谢。

您的循环太多了。拆下外部的一个:

var-button=document.querySelector(“#按钮”);
var chapter=document.queryselectoral(“.chapter”);
addEventListener('click',function(){
对于(变量i=0;i
.active{
颜色:红色;
}
text
文本文本文本
文本文本文本
文本文本文本
按钮
var-button=document.querySelector(“#按钮”);
var chapters=document.queryselectoral(“.chapter”);
addEventListener('click',function(){
对于(var索引=0;索引
.active{
颜色:红色;
}
text
文本文本文本

切换颜色
您看到的错误是什么?@Sushanth,无。当我将“添加”更改为“切换”时,控制台上不会显示任何错误消息。什么都没有发生&类没有切换。如果上面是您正在使用的实际代码,那么看起来您可能在错误的对象上调用了contains方法。它应该是if(chapter[i].classList.contains('active'){chapter[i].classList.remove('active'));我觉得你的循环很奇怪,我不明白你想用它们实现什么。请解释一下你想要的行为。当你点击按钮时到底会发生什么?如果你再次点击?@blex,这是我想要实现的。当我点击一个按钮时,一类“活动”元素被添加到一类元素(“章节”)中,再次单击按钮时,“活动”类被删除。我以为这是一个经典的切换函数?我不知道切换函数怎么会“奇怪”
chapter[i].classList.toggle('active');
if (chapter[i].contains('active')){
chapter[i].classList.remove('active');