Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Os dois botões são nulos.

Bom dia! Estou com esse erro no meu projeto, apesar de ter copiado tudo certinho. Poderiam me ajudar por favor?

Desde já agradeço!

                    <li class="app__card-list-item">
                        <button data-contexto="foco" class="app__card-button app__card-button--foco active">Foco</button>
                    </li>
                    <li class="app__card-list-item">
                        <button data-contexto="short" class="app__card-button app__card-button--curto">Descanso curto</button>
                    </li>
                    <li class="app__card-list-item">
                        <button data-contexto="long" class="app__card-button app__card-button--longo">Descanso longo</button>
                    </li>
                </ul>
const html = document.querySelector('html');
const focoBt = document.querySelector('.app__card-button--foco');
const curtoBt = document.querySelector('.app__card-button--curto');

console.log(html, focoBt, curtoBt)

// Adiciona escutador de evento no botão de foco e de descanso curto
focoBt.addEventListener('click', () => {
    html.setAttribute('data-contexto', 'foco');
});

curtoBt.addEventListener('click', () => {
    html.setAttribute('data-contexto', 'descanso-curto');
});

Print com debug do código

2 respostas

Olhando o trexo de código que você compartilhou de fato não deveria ter error, se quiser me chama no Discord (DaniloOliveira#1998) que a gente dá uma analisada em teu código por completo.

solução!

Bom dia Danilo! Desculpe a demora na resposta! Eu conseguir identificar o problema, e é um que é bastante recorrente em projetinhos que eu faço, mas nunca lembro... o script é processado antes da página HTML! Eu coloquei o <script> dentro de <head>, mas esqueci de adicionar o atributo defer dentro dele. Desde já agradeço pela sua disposição em ajudar!