我似乎无法弄清楚为什么减法工作在我的代码,但当我将减法标志更改为加号,我得到一个控制台错误:未捕获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