JavaScript key.classList.add问题

JavaScript key.classList.add问题,javascript,Javascript,我正在创建Vanilla js鼓包,js classList.add不起作用,我尝试使用不同的属性,也许你可以帮助我,或者只是给出一些建议 HTML: 您应该在查询字符串中用div替换key: 错: const key = document.querySelector(`key[data-key="${e.keyCode}"]`); const key = document.querySelector(`key[data-key="${e.keyCode}"]`); 对:

我正在创建Vanilla js鼓包,js classList.add不起作用,我尝试使用不同的属性,也许你可以帮助我,或者只是给出一些建议

HTML:


您应该在查询字符串中用div替换key:

错:

const key = document.querySelector(`key[data-key="${e.keyCode}"]`);
const key = document.querySelector(`key[data-key="${e.keyCode}"]`);
对:

const key = document.querySelector(`div[data-key="${e.keyCode}"]`);
尝试以下更正:

错:

const key = document.querySelector(`key[data-key="${e.keyCode}"]`);
const key = document.querySelector(`key[data-key="${e.keyCode}"]`);
右:在“key”之前添加句点,因为它是一个类

const key = document.querySelector(`.key[data-key="${e.keyCode}"]`);
添加:key.classList.add(“播放”)


你的问题不在类列表中,而是你使用了
这个
打字错误:你的代码中没有
元素可以被你的选择器锁定。(您忘记了
=>
文档.querySelector(`.key[data key=“${e.keyCode}]”)`
window.addEventListener("keydown", function (e) {
    const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`);
    const key = document.querySelector(`.key[data-key="${e.keyCode}"]`);
    if (!audio) return;
    audio.currentTime = 0;
    audio.play();
    key.classList.add("playing");
});