我正在使用 JQuery 获取一个 div 的内容,它只包含以美元为单位的价格,我想向它添加 99 美元,但是它的文本,所以当我执行下面的操作时它不起作用。
$('#price_' + part[0]).text($('#price_' + part[0]).text() + 99);
//Changes the div contents to $10099 - if it the contents was $100 to start with
所以问题是如何添加数值?
谢谢大家
编辑
请注意一些数字可以包含逗号,即 $1,200
最佳答案
获取数字子串并将其转换为数字:
$('#price_' + part[0]).text("$" + (+($('#price_' + part[0]).text()).substring(1) + 99));
请注意使用一元 +
运算符将字符串转换为数字,并使用 substring 获取字符串中第一个 ($) 字符之后的所有内容。
更新
既然您提到值可以包含逗号,您最好将其分解并执行字符串替换:
var div = $('#price_' + part[0]); // get a ref to the div
// replace occurrences of `$` or `,`, cast to a number and add 99
var amount = +div.text().replace(/[$,]/g, '') + 99;
// set the new text to the div
div.text("$" + amount);
关于javascript - 使用 Javascript 以文本形式对货币值执行算术运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2492310/