类型错误:无法访问属性“classList”,btnMenu 未定义 btnMenu

const btnMenu = document.querySelector('#btnMenu')

  .addEventListener('click', function() {

    console.log('open menu');

    if (btnMenu.classList.contains('open')) {

      btnMenu.classList.remove('open')

    } else {

      btnMenu.classList.add('open')

    }

  });

这段代码有什么问题,我试着绕过它,它是为了广告打开菜单的动作,但我现在只做动画。


潇湘沐
浏览 90回答 2
2回答

慕码人8056858

尝试这种方式..const btnMenu=document.querySelector('#btnMenu');btnMenu.addEventListener('click', function(){    console.log('open menu');    if(btnMenu.classList.contains('open')){    btnMenu.classList.remove('open')    }else{    btnMenu.classList.add('open')}});

慕侠2389804

因为btnMenu被设置为addEventListener- 这不是对按钮的引用的结果。该方法返回undefined!在事件侦听器函数中将this引用元素:document.querySelector('#btnMenu')  .addEventListener('click', function() {    console.log('open menu');    if (this.classList.contains('open')) {      this.classList.remove('open')    } else {      this.classList.add('open')    }  });
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript