JavaScript: string.replace() не работает, в чем проблема?

#javascript

#javascript

Вопрос:

Я перепробовал все, но мой код не работает. Я не знаю почему.

Вот оно:

 var table = $("#cpTableBody").html();  
$("#cpTableBody").html('');

var tmpContent = "";
for (i=0; i<cpData.length; i  ) {
  var tmpTable = table;
  tmpTable.replace(/{firstname}/g, cpData[i].contact_person.firstname);
  tmpTable.replace(/{lastname}/g, cpData[i].contact_person.lastname);
  tmpContent  = tmpTable;
}

$("#cpTableBody").html(tmpContent);
  

Комментарии:

1. table никогда не изменяется, поэтому var tmpTable = table; переназначение в цикле кажется бессмысленным, и это дополнительно подразумевает, что {firstname} и {lastname} будут заменены на первой итерации цикла, а все остальные итерации ничего не сделают. Я что-то упускаю?

Ответ №1:

простой ответ… вы не устанавливаете tmpTable = tmpTable.replace … вот так:

 var tmpContent = ""; 
for (i=0; i<cpData.length; i  ) {   
    var tmpTable = table;   
    tmpTable = tmpTable.replace(/firstname/g, cpData[i].contact_person.firstname   "");   
    tmpTable = tmpTable.replace(/{lastname}/g, cpData[i].contact_person.lastname   "");   
    tmpContent  = tmpTable; 
} 
  

Комментарии:

1. Большое вам спасибо 🙂 8 часов кодирования вызывают у меня головную боль 😉

2. нет проблем. не забудьте отметить это как ответ, нажав на галочку в этом сообщении 🙂 Это также поможет вам, когда вы будете задавать больше вопросов на этом сайте, потому что ваш «процент ответов» составит 100% и побудит людей публиковать сообщения.