我如何在javascript中添加并获得所有费用值的总和

  • 本文关键字:javascript 添加 javascript html
  • 更新时间 :
  • 英文 :


我不知道我做错了,但我想加我所有的费用值,但不是加和给我我的值的总和,它连接在一起,我怎么解决这个问题?

html代码:这是我的列表

<table>
<tr>
<th>Expenses Title</th>
<th>Expense Value</th>
<th></th>
</tr>

<tr>
<td>egg</td>
<td class="expenses_value">350</td>
<td>Edit</td>
<td class="remove_button">Delete</td>
</tr>
<tr>
<td>Bread</td>
<td class="expenses_value">340</td>
<td>Edit</td>
<td class="remove_button">Delete</td>
</tr>
<tr>
<td>fish</td>
<td class="expenses_value">90</td>
<td>Edit</td>
<td class="remove_button">Delete</td>
</tr>
</table>

是我编写的执行任务的函数,但是它连接了我的数字。Javascript代码(vanilla Javascript)我是初学者,我需要一个最好的方法。谢谢你。

let expense_value = document.getElementsByClassName("expenses_value");
let sum = 0
for(let i = 0; i < expense_value.length; i++){
let newVal = expense_value[i].innerHTML;
sum = sum + newVal;
console.log(sum)
}

任何帮助或建议

innerHTML将提供number作为string以将其转换回number,您可以使其从+开始,例如+expense_value[i].innerHTML或您可以使用Number()

let expense_value = document.getElementsByClassName("expenses_value");
let sum = 0
for(let i = 0; i < expense_value.length; i++){
let newVal = +expense_value[i].innerHTML;
sum = sum + newVal;
}
console.log(sum)
<table>
<tr>
<th>Expenses Title</th>
<th>Expense Value</th>
<th></th>
</tr>

<tr>
<td>egg</td>
<td class="expenses_value">350</td>
<td>Edit</td>
<td class="remove_button">Delete</td>
</tr>
<tr>
<td>Bread</td>
<td class="expenses_value">340</td>
<td>Edit</td>
<td class="remove_button">Delete</td>
</tr>
<tr>
<td>fish</td>
<td class="expenses_value">90</td>
<td>Edit</td>
<td class="remove_button">Delete</td>
</tr>
</table>

变量newVal的类型是字符串,因此默认情况下它将取消字符串。首先,您需要将其类型从string更改为Int,这要归功于"parseInt(newVal) ">
你可以在这里修改

let newVal = parseInt(expense_value[i].innerHTML);

这里或

sum = sum + parseInt(newVal);

最新更新