1
resposta

[Reclamação] Didática e conhecimento fornecido antes da atividade.

Acho um pouco injusto ensinar uma coisa em um vídeo anterior e cobrar outra numa atividade posterior.
Quando o primeiro vídeo do segundo projeto acaba, é sugerido que o aluno tente sozinho realizar a modificação e selecionar as partes no HTML.
Só que isso não foi ensinado na estrutura que o projeto é apresentado com classes, parágrafos e botões com a tag 'a'.
Só resta ao aluno acompanhar a aula e ir copiando o trabalho realizado, pois quando se ensina a pegar um elemento por classe digitando 'ponto' e criando a função usando como parâmetro "game-${id}", o aluno não possui esse conhecimento prévio. Fica frustante porque você vê que não sabe fazer a atividade não por ser díficil, mas porque foi cobrado algo que não foi ensinado. Isso é péssimo para a progressão temática do conteúdo, o aluno não tem repertório suficiente para fazer a atividade e fica a sensação que não está aprendendo mesmo estudando, lendo e relendo todas as anotações e as atividades até então realizadas. Desculpe-me pelo tom da reclamação...

Segue o código copiado do vídeo observando-o passo a passo:

function alterarStatus(id)
{
let gameClicado = document.getElementById(game-${id});
let imagem = gameClicado.querySelector('.dashboard__items__item');
let botao = gameClicado.querySelector('.dashboard__item__button');
let nomeJogo = gameClicado.querySelector('.dashboard__item__name');
alert(nomeJogo.textContent);
}

1 resposta

Oi Geovani, como vai?

Entendo a sua frustração e é importante você expressar suas dificuldades. Algumas atividades aqui propostas são para te desafiar a buscar coisas fora do curso, mas sei que isso pode ser desafiador, mas é para isso que serve o fórum, sempre que enfrentar uma barreira você pode vir aqui pedir ajuda.

No seu código, você está usando document.getElementById para pegar um elemento específico, e querySelector para acessar elementos dentro desse elemento.

Se a aula não explicou como usar querySelector ou como construir strings dinâmicas para IDs, aqui está um pequeno resumo:

  1. document.getElementById('id'): Essa função retorna o elemento que possui o ID especificado. No seu caso, game-${id} é uma string dinâmica que usa o valor de id para formar o ID completo do elemento.

  2. querySelector('.classe'): Essa função é usada para selecionar o primeiro elemento que corresponde ao seletor CSS fornecido. No seu código, você está procurando por classes específicas dentro do elemento que foi recuperado pelo ID.

Para praticar, você pode tentar criar um pequeno exemplo HTML com alguns elementos e aplicar essas funções para ver como elas funcionam. Por exemplo:

<div id="game-1" class="dashboard__items__item">
    <p class="dashboard__item__name">Jogo 1</p>
    <button class="dashboard__item__button">Alterar</button>
</div>

Com esse HTML, você pode usar o JavaScript que você copiou para ver como ele interage com esses elementos.

Espero ter ajudado e bons estudos!

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