我不知道我做错了,但我想加我所有的费用值,但不是加和给我我的值的总和,它连接在一起,我怎么解决这个问题?
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);