Javascript jquery替换不起作用
我有以下功能:Javascript jquery替换不起作用,javascript,jquery,Javascript,Jquery,我有以下功能: function calculateTotal( ) { var sum = 0; // iterate through each td based on class and add the values $( ".tdArticlePositionZeilensumme" ).each(function() { var value = $( this ).data( "amount" ); //var value = "
function calculateTotal( )
{
var sum = 0;
// iterate through each td based on class and add the values
$( ".tdArticlePositionZeilensumme" ).each(function() {
var value = $( this ).data( "amount" );
//var value = "1,123.00";
console.log( "Value before replace:" + value );
var newValue = value.replace(/,/g,""); //
console.log( "Value nach replace" );
//sum += value;
sum += parseFloat( newValue );
console.log( "Zwischensumme: " + sum );
});
console.log( "Summe: " + sum);
}
我得到了错误:该值没有函数replace
。当我像上面看到的那样手动添加值时,替换和求和就起作用了
但是当我从数据中获取值(“amount”)时,变量值没有replace函数
我用console.log检查了金额是否存在,是的,它存在
我认为,当我获取金额并将其设置为变量值时,该值不是普通的字符串变量
我的错误在哪里?数据(金额)可能已设置为浮动。您可以使用typeof(value)
确认变量的类型
使用
var newValue=value.toString().replace(/,/g,”)
您将数字和字符串混合在一起,只有字符串有replace()方法,或者data('amount')
不返回任何字符串,如果没有更多上下文,我们无法判断。这是一个数据,而不是jquery,请尝试console.log(value)以查看它是否为null,或者查看对象结构tryconsole.log(type of value)
看看你得到了什么?类型是数字,我不需要更换。所以你是对的,我没有字符串,我有一个数字。创建一个小提琴,那会更好吗?javascript中没有float
类型,只有number
,typeof是一个运算符,不是一个函数,如果它是一个数字,就不需要将其转换为字符串来删除逗号,数字不能有逗号。