javascript - 事件冒泡事件监听器在目标上删除/添加类不是删除类
问题描述
如果目标元素没有该类,我正在尝试添加一个类 .active ,并且如果另一个元素具有该类,我想删除该类,因此只有我单击的那个类具有该元素。我正在尝试使用此代码执行此操作-
document.addEventListener('click',function(e){
document.querySelector('.active').classList.remove('.active');
if(!e.target.classList.contains('active') && e.target.classList.contains('day')){
e.target.classList.add('active');
}
});
我希望当我单击另一个元素时删除具有 .active 类的任何内容,但是当我单击另一个元素时,活动类仍保留在已经具有活动类的元素上,并将其添加到我单击的目标上上。我的控制台没有错误。
解决方案
它一定要是
document.querySelector('.active').classList.remove('active')
不是
document.querySelector('.active').classList.remove('.active')
正如您已经告诉浏览器它是关于 CSS 类 ( classList
) 的那样,您不再在指定的类前面加上.
.