Seguindo, passo a passo, as instruções da aula, o funcionamento estava perfeito quando o código estava assim:
function tocaSom (idElementoAudio) {
document.querySelector(idElementoAudio).play();
}
const listaDeTeclas = document.querySelectorAll('.tecla');
let contador = 0;
while (contador < listaDeTeclas.length) {
const tecla = listaDeTeclas[contador]
const instrumento = tecla.classList[1];
const idAudio = `#som_${instrumento}`;
tecla.onclick = function () {
tocaSom(idAudio);
};
contador++;
}
Mas, na hora de trocar o laço while pelo laço for, o código parou de funcionar. Os botões não tocam mais som nenhum, nem o console imprime o console.log(idAudio)
.
for (let contador = 0; contador < listaDeTeclas.lenght; contador++) {
const tecla = listaDeTeclas[contador];
const instrumento = tecla.classList[1];
const idAudio = `#som_${instrumento}`; //template string
console.log(idAudio)
tecla.onclick = function () {
tocaSom(idAudio);
};
}
Talvez eu só esteja com a vista cansada e deixei passar algum detalhe pequeno mas, a meu ver, depois de todas as correções que tentei fazer, o código ficou idêntico ao da instrutora. :v