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,或者查看对象结构try
console.log(type of value)
看看你得到了什么?类型是数字,我不需要更换。所以你是对的,我没有字符串,我有一个数字。创建一个小提琴,那会更好吗?javascript中没有
float
类型,只有
number
,typeof是一个运算符,不是一个函数,如果它是一个数字,就不需要将其转换为字符串来删除逗号,数字不能有逗号。