Javascript 香草js-classList.add不起作用,但是className起作用了吗?

Javascript 香草js-classList.add不起作用,但是className起作用了吗?,javascript,Javascript,我正试图重写/修改WAI教程文档()中的导航示例 我的问题只涉及下面的代码片段。原始文档使用的是this.className,我正试图将其更改为this.classList.add,但它没有任何作用。控制台中没有错误,控制台日志记录navPrimaryLi和mouseover事件工作正常 为什么我不能使用这个.classList.add let navPrimaryLi = document.querySelectorAll('#primary-nav li.menu-item-has-chil

我正试图重写/修改WAI教程文档()中的导航示例

我的问题只涉及下面的代码片段。原始文档使用的是
this.className
,我正试图将其更改为
this.classList.add
,但它没有任何作用。控制台中没有错误,控制台日志记录
navPrimaryLi
mouseover
事件工作正常

为什么我不能使用
这个.classList.add

let navPrimaryLi = document.querySelectorAll('#primary-nav li.menu-item-has-children');

Array.prototype.forEach.call(navPrimaryLi, function(el, i){
  el.addEventListener('mouseover', function(event){
    this.classList.add = 'open'; // does nothing
    // this.className = 'open'; // changes the class name to 'open'
  });
});

非常感谢

尝试运行添加而不是分配

this.classList.add('open')
classList.add()
是一个方法,而不是属性!像这样使用:
classList.add(“open”)
。您可以阅读更多关于