Tell us what’s happening:
Test 9 is failing
9. When you press one of the keys Q, W, E, A, S, D, Z, X, C on your keyboard, the corresponding audio element should play the corresponding sound.
I’m not sure why, as, as far as I can tell, the appropriate sound plays when I press those buttons?
Your code so far
<!-- file: index.html -->
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Drum Machine</title>
</head>
<body>
<div id="drum-machine">
<div id="pad-bank">
<button class="drum-pad" id="Heater-1">Q<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/Heater-1.mp3" id="Q"></button>
<button class="drum-pad" id="Heater-2">W<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/Heater-2.mp3" id="W"></button>
<button class="drum-pad" id="Heater-3">E<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/Heater-3.mp3" id="E"></button>
<button class="drum-pad" id="Heater-4_1">A<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/Heater-4_1.mp3" id="A"></button>
<button class="drum-pad" id="Heater-6">S<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/Heater-6.mp3" id="S"></button>
<button class="drum-pad" id="Dsc_Oh">D<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/Dsc_Oh.mp3" id="D"></button>
<button class="drum-pad" id="Kick_n_Hat">Z<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/Kick_n_Hat.mp3" id="Z"></button>
<button class="drum-pad" id="RP4_KICK_1">X<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/RP4_KICK_1.mp3" id="X"></button>
<button class="drum-pad" id="Cev_H2">C<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/Cev_H2.mp3" id="C"></button>
</div>
<p id="display"></p>
</div>
</body>
<script src="script.js"></script>
</html>
/* file: script.js */
const drumPads = document.querySelectorAll(".drum-pad")
const displayElement = document.getElementById("display")
function playAudio(drum) {
displayElement.innerText = (drum.id)
const audioElement = document.getElementById(drum.innerText)
audioElement.play()
}
drumPads.forEach((drum) => drum.addEventListener("click",() => playAudio(drum)))
window.addEventListener("keydown",(e) => {
if (["q","w","e","a","s","d","z","x","c"].includes(e.key.toLowerCase())) {
const audioElement = document.getElementById(e.key.toUpperCase())
audioElement.play()
const drum = audioElement.parentNode
displayElement.innerText = (drum.id)
}
})
/* file: styles.css */
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36
Challenge Information:
Build a Drum Machine - Build a Drum Machine