1
resposta

Bug

Meu código ficou um pouco bugado depois do refactor.

Quando clico a primeira vez ele funciona, mas assim que clico no segundo botão ele soma a partir do outro.

Ex: Clicando apenas uma vez em cada botão

const controls = document.querySelectorAll(".controle-ajuste")

controls.forEach((element) => {
  element.addEventListener("click", (event) => {
    changeData(event.target.textContent, event.target.parentNode)
  })
})

function changeData(operation, parent) {
  const part = parent.querySelector(".controle-contador")

  if (operation === "+") {
    part.value = parseInt(army.value) + 1
  } else {
    part.value = parseInt(army.value) - 1
  }
}
1 resposta

Olá Thamires,

Acredito que o problema ocorre no parseInt(army.value), o correto seria estar como parseInt(part.value)

function changeData(operation, parent) {
  const part = parent.querySelector(".controle-contador")

  if (operation === "+") {
    part.value = parseInt(part.value) + 1
  } else {
    part.value = parseInt(part.value) - 1
  }
}