为什么我得到NaN值?

时间:2017-12-16 19:06:39

标签: javascript

我试图弄清楚为什么valInt会返回NaN以及如何修复它以便存储存款值。

*编辑:自发布以来做了一些更改。我还在为NaN取得余额。

// JS

`function depositMoney () {
//Select the balance amount
let acctBal = $('.check-balance')
let chkBal = acctBal
let chkBalVal = chkBal.html()
console.log(chkBalVal)

//Needs to accept input.
let input = $('.input')
let depositVal = parseInt(input.val())
console.log('Deposit amount: ' + depositVal)

//Collect info from balance.
let valInt = parseInt(chkBalVal)
console.log('Current balance is: ' + valInt)

//Displaying the checking amount.
let sumTot = (depositVal + valInt)
console.log('Total here:' + sumTot)
acctBal.html('$' + (depositVal + valInt))
}`

// HTML

`<div id="checking" class="account">
  <h2>Checking</h2>
  <div class="check-balance">$0</div>
  <input class="input" type="text" placeholder="enter an amount" />
  <input class="deposit" type="button" value="Deposit" />
  <input class="withdraw" type="button" value="Withdraw" />
  </div>`

1 个答案:

答案 0 :(得分:3)

let valInt = parseInt(chkBal)

此代码正在尝试将chkBal转换为数字,其中chkBalacctBal完全相同 - 一个jQuery对象。

您必须使用命令.val()获取存储在jQuery DOM对象中的值,然后通过修改以let chkBal =开头的行来将结果转换为数字,如下所示:

let chkBal = acctBal.val();