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

duvida

queria que explicasse melhor o evento.target.parentNode na função e porque trocamos o document pela variável controle que contem o evento.target.parentNode. O codigo:

elemento.addEventListener("click", (evento) => {
    manipulaDados(evento.target.textContent, evento.target.parentNode)
}

function manipulaDados(operacao, controle) {
  const peca = controle.querySelector(".controle-contador")

  if (operacao === "-") {
    peca.value = parseInt(peca.value) - 1
  } else {
    peca.value = parseInt(peca.value) + 1
  }
}
1 resposta
solução!

Opa Rái, tudo certo?

O parentNode é uma propriedade que permite acessar o elemento pai de um elemento específico, ou seja, a partir do momento que interagimos com o elemento pai, conseguimos interagir com o elemento filho. Deixo abaixo a documentação dessa propriedade caso queira se aprofundar:

Nesse caso, queremos que a mudança de dados somente ocorra quando estivermos interagindo com uma parte específica do projeto, mais especificamente os elementos filhos da classe "controle", que realizam a subtração e soma dos valores. Sendo assim, definimos como parâmetro a ser atendido o parentNode, que vai realizar a busca somente no elemento que estamos mexendo no momento e não no documento inteiro.

Fico à disposição.

Tenha um bom dia e bons estudos.