Quiero reemplazar "{{my_name}}" y "{{my_email}}" con una cadena, pero el programa no funciona, ¿qué debo hacer?
Gracias.
$(".notes *:contains('{{')").text(function() { var rawkey = $(this).text().match(/{{(.*?)}}/i)[0]; // Output (console.log) : {{my_name}} or {{my_email}} var key = $(this).text().match(/{{(.*?)}}/i)[1]; // Output (console.log) : my_name or my_email if (key.indexOf('name') > -1) { $(this).text($(this).text().replace(rawkey, "Tony")); } else if (key.indexOf('email') > -1) { $(this).text($(this).text().replace(rawkey, "tonyhawk@gmail.com")); } }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="notes"> <h4>{{my_name}}</h4> <table> <tr> <td> <p>{{my_name}}, {{my_email}}</p> </td> </tr> </table> </div>Establezca el resultado después de reemplazar de nuevo al contenido de texto del textContent :
$(".notes *:contains('{{')").text(function() { var rawkey = $(this).text().match(/{{(.*?)}}/i)[0]; var key = $(this).text().match(/{{(.*?)}}/i)[1]; if (key.indexOf('name') > -1) { $(this).text($(this).text().replace(rawkey, "Tony")); } else if (key.indexOf('email') > -1) { $(this).text($(this).text().replace(rawkey, "tonyhawk@gmail.com")); } }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="notes"> <h4>{{my_name}}</h4> <table> <tr> <td> <p>{{my_email}}</p> </td> </tr> </table> </div>Puedes hacer esto.
var $content=$('.notes').html(); var finalContent=$content.replaceAll("my_name","Tony").replaceAll("my_email","tonyhawk@gmail.com").replaceAll("{{","").replaceAll("}}",""); $(".notes").html(finalContent); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="notes"> <h4>{{my_name}}</h4> <table> <tr> <td> <p>{{my_name}},{{my_email}}</p> </td> </tr> </table> </div>