Jquery: Find Text and replace
$("#id1 p:contains('dog')").html("doll");
that'll do it.
http://jsfiddle.net/pgDFQ/
try this,
$('#id1').html($('#id1').html().replace('dogsss','dollsss'));
working sample
You can use .each()
to loop through the <p>
elements, and .text()
to update the text.
For example:
$('#id1 p').each(function() {
// get element text
var text = $(this).text();
// modify text
text = text.replace('dog', 'doll');
// update element text
$(this).text(text);
});
Demo: https://jsfiddle.net/8gra4xjw/
[Updated to reflect comments]
Note: The above replaces the first occurrence of 'dog' only. To replace all occurrences, you could use:
// modify text (replace all)
text = text.replace(/dog/g, 'doll');
See also: How to replace all occurrences of a string in JavaScript
If the new text must contain HTML entities like
, you could use:
// update element text (html)
$(this).html(text);
See also: What is the difference between jQuery: text() and html() ?