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

[Dúvida] Caminho mais simples para alterar a classe do botão reiniciar ?

Olá, tive pesquisei um pouco antes de ver a vídeo aula e desenvolvi uma abordagem mais simples para alterar o botão reiniciair utilizando o setAttribute. Gostaria que avaliassem essa abordagem.

function sortear() {
 
    [...]

    //Ativa o botão reiniciar
    document.getElementById('btn-reiniciar').setAttribute('class', 'container__botao')
}

function reiniciar(){

    [...]

    //Desativa o botão reiniciar
    document.getElementById('btn-reiniciar').setAttribute('class', 'container__botao-desabilitado')

A vantagem da abordagem no mostrada no vídeo seria a reutilização do código em diversos momentos, certo? Mas para uma aplicação menor eu achei a minha abordagem mais direta e simples. Alguma consideração?

1 resposta
solução!

Olá Guilherme! Tudo bem?

Sua abordagem utilizando setAttribute para alterar a classe do botão "Reiniciar" é mais direta e pode funcionar bem em aplicações menores ou em casos onde a simplicidade é preferida. Ao usar setAttribute, você está substituindo diretamente o valor da classe, o que é uma maneira rápida de fazer a mudança visual necessária.

A vantagem da abordagem mostrada na aula, que utiliza classList, é que ela oferece mais flexibilidade e reutilização do código. Com classList, você pode adicionar ou remover classes específicas sem afetar outras que possam estar presentes no elemento. Isso é particularmente útil em projetos maiores ou mais complexos, onde um botão pode ter múltiplas classes aplicadas por diferentes razões.

Por exemplo, se no futuro você quiser adicionar uma nova classe ao botão para outro propósito (como uma animação ou um efeito de hover), a abordagem com classList permitiria isso sem interferir na lógica existente de habilitar ou desabilitar o botão.

Ambas as abordagens têm seus méritos, e a escolha entre uma ou outra pode depender do contexto do projeto e das suas preferências pessoais. É ótimo que você esteja explorando diferentes maneiras de resolver o problema!

Espero ter ajudado e bons estudos!