Versão atual:

como somar td de uma tabela em js puro

Sou novo como Dev e gostaria de uma ajuda para conseguir realizar o somatório dos valores das td's que são adicionadas a minha planilha. realializei alguns testes, mas até o momento dessa postagem, não consegui resolver meu problema. Obs: Os valores são inseridos através de um input.

Abaixo segue uma parte do código. As duas primeiras adicionam uma tr a minha página com o tipo de transação da mercadoria (compra ou venda), o nome da mercadoria e o valor da mercadoria.

No caso, quero somar e subtrair só os valores para que o resultado seja alterado no valor total. Se for compra, será subtração do valor, se for venda, será adição do valor.

desenhaTabela()
function desenhaTabela () {
  for (transaction of objStorage) {
    document.querySelector('.tabelaGeral').innerHTML += `
  <tr>

    <td class="produto">${transaction.tipo}&nbsp;${transaction.nome}</td> 

    <td class="preco">${transaction.valor}</td>
  </tr>`
  };


}
function lerTabela () {
// Dom nome e valor dos input
var tabela = document.querySelector('.tabelaGeral')
let nome = document.querySelector('.btnMercadoria')
let nomeMercadoria = nome.value
let currency = document.querySelector('.btnValor')
let valor = currency.value
let tipoSelecao = document.getElementsByName('trade')


tabela.innerHTML += `
  <tr>

    <td class="produto">${tipoSelecao.value == "compra" ? "+" : "-" }&nbsp;${nomeMercadoria}</td> 

    <td class="preco">${valor}</td>
  </tr>`

  objStorage.push({
    nome: nomeMercadoria,
    valor: valor,
    tipo: tipoSelecao.value == "compra" ? "+" : "-"
  })

  localStorage.setItem('objStorage', JSON.stringify(objStorage))

};
function totaValor () {

  var linha = document.getElementsByClassName(".preco");
  var resultado = document.getElementsByClassName('.qtdTotal').innerHTML = 0;


     for (i = 0; i < linha.length; i++) {
         resultado = resultado + Number(linha[i].innerHTML);
     }

 document.getElementsByClassName(".qtdTotal").innerHTML = resultado;


    document.querySelector('.tabelaGeral .foot').innerHTML += `
  <tr>

    <td>Total</td> 

    <td class="qtdTotal">${resultado}</td>
  </tr>`

  if (objStorage.length > 0) {
    document.querySelector('.tabelaGeral tfoot').innerHTML += `
    <tr>
      <td></td>
      <td class="status">${Math.sign(resultado) > 0 ? "[LUCRO]" : "[PREJUÍZO]"}</td>
    </tr>`
  }

  console.log(resultado)
}
totaValor()

Versão (1):

Ver a versão formatada

como somar td de uma tabela em js puro

Comentário

new question