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} ${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" ? "+" : "-" } ${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()