1
resposta

[Bug] Eu fiz o código exatamente como é demonstrado, porem quando tento executar por algum motivo ele não vai

function alterarStatus(id) {
let gameClicado = document.getElementById(game-(${id}));
let imagem = gameClicado.querySelector('.dashboard__item__img');
let botao = gameClicado.querySelector('.dashboard__item__button');

if (imagem.classList.contains('dashboard__item__img--rented')) {
    imagem.classList.remove('dashboard__item__img--rented');
    botao.classList.remove('dashboard__item__button--return');
    botao.textContent = 'Alugar' ;
} else {
    imagem.classList.add('dashboard__item__img--rented');
    botao.classList.add('dashboard__item__button--return');
    botao.textContent = 'Devolver' ;
}

}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Felipe! Tudo certo?

Pelo erro que você está recebendo, parece que o document.getElementById(game-(${id})) está retornando null. Isso pode acontecer se o elemento com o ID especificado não existir no momento em que a função é chamada.

Aqui estão algumas sugestões para resolver o problema:

  1. Verifique o ID dos elementos: certifique-se de que os elementos no HTML têm o ID correto no formato game-(id). Pode ser que o ID esteja diferente do que você está tentando acessar.

  2. Verifique o momento da execução: assegure-se de que o JavaScript está sendo executado após o carregamento completo do DOM. Você pode colocar o script no final do corpo do HTML ou usar um DOMContentLoaded event listener:

    document.addEventListener('DOMContentLoaded', (event) => {
        // Seu código aqui
    });
    
  3. Console.log para depuração: adicione um console.log para verificar se o ID está sendo passado corretamente para a função:

    function alterarStatus(id) {
        console.log(`game-(${id})`); // Verifique o ID
        let gameClicado = document.getElementById(`game-(${id})`);
        if (!gameClicado) {
            console.error('Elemento não encontrado!');
            return;
        }
        // Resto do código...
    }
    
  4. Verifique o HTML: certifique-se de que o HTML está estruturado corretamente e que os elementos com as classes .dashboard__item__img e .dashboard__item__button existem dentro do elemento com o ID especificado.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.