Falta pouco!

0 dias

0 horas

0 min

0 seg

1
resposta

Conseguir manipular os clicks com muita dificuldade kk

//var global//
const array = []

const li = document.createElement('li')
li.classList.add('app__section-task-list-item')
// abaixo da criação da li eu coloquei //
array.push(li)

li.onclick = () => {
// fiz um loop no valores da li que estão no array e então manipulei a lista antes de ativar a class //
for (const valores_array of array) {
if (valores_array.classList.contains('app__section-task-list-item-active')) {
valores_array.classList.remove('app__section-task-list-item-active')
}
}
tarefa_recebida.textContent = tarefa.descricao
li.classList.add('app__section-task-list-item-active')
} //fim da LI.ONCLICK

1 resposta

Oi, Reinaldo! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Achei bem interessante a forma como você usou o array.push(li) para registrar os elementos e depois percorreu com for...of para controlar a classe ativa. Isso mostra que você já está conseguindo manipular os eventos de clique de maneira organizada.

Uma dica interessante para o futuro é usar o método querySelectorAll para selecionar vários elementos de uma vez e manipular sem precisar manter manualmente um array. Veja este exemplo:


const itens = document.querySelectorAll('li');

itens.forEach((item) => {
    item.addEventListener('click', () => {
        itens.forEach(i => i.classList.remove('ativo'));
        item.classList.add('ativo');
    });
});

Esse código pega todos os li, adiciona o evento de clique e garante que apenas um fique com a classe ativo por vez.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!