JavaScript替换问题和返回未定义

JavaScript替换问题和返回未定义,javascript,jquery,Javascript,Jquery,我试图替换简单文本[debit],但它返回未定义。 任何猜测 var totalDebit = 0; $("input[name$='[debit]']").each(function() { if ($(this).attr('name') && $(this).attr('name').match(/items\[\d+\]\[debit\]/)) { // var exchange_rate = $("input[name='items["+

我试图替换简单文本[debit],但它返回未定义。 任何猜测

var totalDebit = 0;    
$("input[name$='[debit]']").each(function() {

  if ($(this).attr('name') && $(this).attr('name').match(/items\[\d+\]\[debit\]/)) {
        // var exchange_rate =  $("input[name='items["+i+"][exchange_rate]']").val(); // get exchange_rate
        var name = $(this).attr('name');
        alert( name );

        var res = name.replace("[debit]");


        console.log( res );
        alert( res );
        totalDebit += $(this).val() ? parseInt($(this).val()) : 0;
  }
});

replace函数接受第二个参数。在本例中,您没有传入第二个要替换的参数,因此“[debit]”被替换为未定义。

替换()需要第二个参数,即新值。在你的情况下,我将:

name.replace(“[借方]”,”)


这将修复您不喜欢看到的
未定义的

接受两个参数;要替换的字符串和要替换的字符串。
“这是一个[debit]测试”。由于缺少第二个要替换的参数,replace([debit]”
给出了“这是一个未定义的测试”。您想用什么替换它?@James谢谢,您说得对,刚刚测试过它。@MikeMcCaughan谢谢