Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Corrigindo clicks dos botões sem value

Os botões a seguir, não possuem value: imagem dos botões que não possuaem values

Sendo assim, conforme foi mostrado no vídeo, caso sejam clicados estaremos limpando os livros da tela.

Na explicação em aula, o professor ensina pegar os values pelo getElementById por meio do this. Mas, o listener em si, já possui "uma variável" que guarda todas as informações do elemento que foi interagido.

Vou compartilhar meu código no qual já tratei o problema dos botões sem value e também utilizei o .target, deixando o código menos verboso.

const botoes = document.querySelectorAll('.btn');

botoes.forEach(btn => {
    btn.addEventListener('click', (e) => filtrarLivros(e.target.value, livros));
});

function filtrarLivros(filtro, listaDeLivros) {
    if (filtro != "") {
        secaoLivros.innerHTML = '';
        const listaFiltro = listaDeLivros.filter(livro => {
            return livro.categoria === filtro;
        });
        exibirOsLivrosNaTela(listaFiltro);
    }
};
1 resposta
solução!

Olá Guilherme! Tudo bem?

Muito obrigada por compartilhar seu código e sua sugestão conosco. Realmente, o uso do event.target pode ser uma solução mais elegante e menos verbosa para o problema dos botões sem value. Além disso, o seu código está bem organizado e fácil de entender.

Parabéns pela iniciativa e por buscar sempre melhorar o seu código.

Um abraço e bons estudos.