1
resposta

Problema na Soma e na Subtração

O meu esta dando um problema na questão da subtração e na soma, na forma como explica o vídeo

const controle = document.querySelectorAll("[data-controle]")

controle.forEach( (elemento) => {
    elemento.addEventListener("click", (evento) => {
        manipulaDados(evento.target.dataset.console, evento.target.parentNode)
    })
})

function manipulaDados(operacao, controle) {
    const peca = controle.querySelector("[data-contador]")
 
    if(operacao === "-") {
        peca.value = parseInt(peca.value) - 1
    } 
    else {
        peca.value = parseInt(peca.value) + 1
    }
} 

Ele só conta a linha d baixo. então lá no Robotron ele só adiciona, mesmo apertando no "-"

Se alguém conseguir me ajudar vou ficar bem agradecido (:

1 resposta

Bom dia Gabriel! Como ta indo ?

Acredito que o problema está ocorrendo porque a função querySelector está selecionando apenas o primeiro elemento encontrado com o seletor [data-contador]. Para que a função funcione corretamente para todos os elementos com o seletor [data-contador], você pode substituir querySelector por querySelectorAll e percorrer cada elemento encontrado.

Aqui está uma modificação no código para resolver o problema:

function manipulaDados(operacao, controle) {
  const pecas = controle.querySelectorAll("[data-contador]");

  pecas.forEach((peca) => {
    if (operacao === "-") {
      peca.value = parseInt(peca.value) - 1;
    } else {
      peca.value = parseInt(peca.value) + 1;
    }
  });
}

Nessa modificação, querySelectorAll é usado para selecionar todos os elementos com o seletor [data-contador] dentro do elemento controle. Em seguida, é utilizado forEach para percorrer cada elemento encontrado e realizar a operação de subtração ou soma corretamente.

Certifique-se de aplicar essa modificação no seu código e teste novamente. Dessa forma, a função manipulaDados será capaz de atualizar corretamente todos os elementos com o seletor [data-contador] dentro do elemento controle.

Espero ter ajudado! Atenciosamente, Wankerson Rodrigues