Friday, 2 June 2017

Replace text in HTML page with jQuery



How do I replace any string in jQuery?



Let's say I have a string "-9o0-9909" and I want to replace it with another string.


Answer



You could use the following to replace the first occurrence of a word within the body of the page:



var replaced = $("body").html().replace('-9o0-9909','The new string');

$("body").html(replaced);


If you wanted to replace all occurrences of a word, you need to use regex and declare it global /g:



var replaced = $("body").html().replace(/-1o9-2202/g,'The ALL new string');
$("body").html(replaced);


If you wanted a one liner:




$("body").html($("body").html().replace(/12345-6789/g,'abcde-fghi'));


You are basically taking all of the HTML within the tags of the page into a string variable, using replace() to find and change the first occurrence of the found string with a new string. Or if you want to find and replace all occurrences of the string introduce a little regex to the mix.



See a demo here - look at the HTML top left to see the original text, the jQuery below, and the output to the bottom right.


No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...