Reputation: 4369
<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.
Upvotes: 7
Views: 23568
Reputation: 942
Try this:
$('#content').children().each(function () {
$(this).html(function (i, html) {
return $(this).html().replace(/NUMBER/g, '123456');
});
});
Upvotes: 1
Reputation: 3097
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.
Upvotes: 3
Reputation: 34978
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);
Upvotes: 13