来自MDN:
切换方法有一个可选的第二个参数,它将根据第二个参数的真实性来强制添加或删除类名。例如,要删除一个类(如果存在或不存在),您可以调用
element.classList.toggle('classToBeRemoved', false);
;要添加一个类(如果存在或不存在),您可以调用element.classList.toggle('classToBeAdded', true);
据我所知,classList
是一个令牌列表,并且列表与数组不同,不能有重复的项目。因此,将项目添加到已经具有该项目的列表中不会执行任何操作,而从不包含该项目的列表中删除项目(显然)也不会执行任何操作,这意味着classList.toggle(className, true)
与classList.add(className)
相同,并且classList.toggle(className, false)
与classList.remove(className)
相同。
我想念什么吗?
P.S。无需警告IE兼容性问题。
el.classList.toggle("abc", someBool);
代替此:
if (someBool) {
el.classList.add("abc");
} else {
el.classList.remove("abc");
}
classList.toggle()
的可选第二添加/删除参数。