Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JQuery: replace a string inside a div

<div id="content">
...
<p>NUMBER times...</p>
...
<p>Place N°: NUMBER</p>
</div>

How do I replace all NUMBER inside the content div? I tried replace method but it didn't work.

Thanks.

like image 568
Laura Avatar asked Feb 25 '12 21:02

Laura


2 Answers

You can use the standard Javascript replace function for strings.

oldhtml = $('div#content').html();
var newhtml = oldhtml.replace(/NUMBER/g, "123");
$('div.demo-container').html(newhtml);
like image 161
Alex Avatar answered Oct 24 '22 13:10

Alex


You should iterate all your text nodes and replace the text inside them.

$('#content').children().each(function() {
 var textNode = $(this);
 textNode.text(textNode.text().replace("NUMBER", "NEW"));
});

This codes assumes all the children of #content just contain text.

like image 45
Bruno Silva Avatar answered Oct 24 '22 13:10

Bruno Silva