我似乎無法弄清楚爲什麼減法工作在我的代碼,但當我將減法標誌更改爲加號,我得到一個控制檯錯誤:未捕獲TypeError:undefined不是一個函數。錯誤在哪裏?減法工作在JS但加法不工作在JS
這裏是減法小提琴:http://jsfiddle.net/c8q7p6ac/ 這是與另外到位減號的小提琴:http://jsfiddle.net/c8q7p6ac/1/
的減號和加號都在變updatedNumber
HTML :
<div class="amount">$1000.00</div>
<input class="new-number" type="text">
<div class="button">Click</div>
的jQuery:
$('.button').on('click', function(){
//get value of input
var newNumber = $('.new-number').val();
//get total number value
var totalNumber = $('.amount').text();
var getNumberOnly = totalNumber.indexOf('$') + 1;
var newTotalNumb = totalNumber.substr(getNumberOnly, totalNumber.length);
//add new number to total number
var updatedNumber = (newTotalNumb + newNumber).toFixed(2);
//and update total
$('.amount').html('$'+updatedNumber);
});
您必須先將字符串中的數字轉換爲整數,然後才能將其添加到整數中。 – naomik 2014-10-12 05:42:35
這是有道理的,但爲什麼它會減去,而不必將數字形式的字符串轉換爲整數? – Chipe 2014-10-12 05:45:43
它與javascript處理'-'和'+'時在混合類型上使用它們的方式有關。 @Mrchief更深入地解釋。 – naomik 2014-10-12 05:48:07