Saudações, eu me inscrevi recentemente no site por ver a oportunidade de tirar minhas duvidas, e a duvida que eu tenho agora é: como eu posso mudar a class de uma div no meu html usando uma function pelo javascript?
Vou deixar a baixo o fragmento do meu html e javascript:
Veja na documentação que getElementsByClassName retorna uma lista de elementos (não é à toa que está no plural: “Elements”).
Sendo assim, você tem que pegar o primeiro elemento desta lista:
var menu = document.getElementsByClassName('menu')[0];
Ou então percorra o resultado com um for, igual você fez com o botao.
Mas nesse caso, se só tem um elemento, não tem porque retornar uma lista. Então uma alternativa é usar querySelector, que retorna o primeiro elemento que for encontrado:
var botao = document.querySelector('div .botao');
var menu = document.querySelector('div .menu');
for (var element of botao){
element.addEventListener('click', function () {
menu.classList.toggle('show')
})}