1
resposta

porque meu código não funcionou? está indicando erro no função, mais específicamente falando .play() está dando erro

const ListaDeTeclas = document.querySelectorAll('.tecla')
    let cont = 0
    while (cont<ListaDeTeclas.length) {
    const tecla = ListaDeTeclas[cont]
    const instrumeto = tecla.classList[1]
    const iDaudio = `Som_${instrumeto}`
    console.log(iDaudio)
    tecla.onclick = function () {
      tocaSom(iDaudio)
    
       }
       cont = cont + 1
       console.log(cont)
  
    }
    function tocaSom(idElementoAudio) {
        document.querySelector(idElementoAudio).play();
    }
1 resposta

Fala, Reinaldo, tudo bom?

Vendo seu código notei que a variável const iDaudio = `Som_${instrumeto}` está buscando IDs que começam com "Som" em maiúsculas. No entanto, no index.html do curso esses IDs começam com minúsculas.

O JavaScript é case sensitive, ou seja, diferencia maiúsculas de minúsculas. Por isso, ele não encontrará os IDs "som_..." já que está procurando por "Som_..." .

Para corrigir isso, sua variável pode ficar assim:

const iDaudio = `som_${instrumeto}`

Espero ter ajudado!