jQuery provides replaceWith() method to replace existing HTML content with a new content in a given HTML document.
jQuery replaceWith() Method
The jQuery replaceWith() method removes the content from the DOM and inserts a new content in it’s place.
Following is the syntax of the replaceWith() method:
$(selector).replaceWith(newContent);
The replaceWith() method removes all data and event handlers associated with the removed nodes.
Synopsis
Consider the following HTML content:
<div class="container"> <h2>jQuery replaceWith() Method</h2> <div class="hello">Hello</div> <div class="goodbye">Goodbye</div> <div class="hello">Hello</div> </div>
Now if we apply the replaceWith() method as follows:
$( ".hello" ).replaceWith("<h2>New Element</h2>" );
It will produce following result:
<div class="container"> <h2>jQuery remove() Method</h2> <h2>New Element</h2> <div class="goodbye">Goodbye</div> <h2>New Element</h2> </div>
If we had any number of nested elements inside <div class=”hello”>, they would be removed, too.
Example
Let’s try the following example and verify the result:
<!doctype html> <html> <head> <title>The jQuery Example</title> <script src="https://www.tutorialspoint.com/jquery/jquery-3.6.0.js"></script> <script> $(document).ready(function() { $("button").click(function(){ $( ".hello" ).replaceWith("<h2>New Element</h2>" ); }); }); </script> </head> <body> <div class="container"> <h2>jQuery replaceWith() Method</h2> <div class="hello">Hello</div> <div class="goodbye">Goodbye</div> <div class="hello">Hello</div> </div> <br> <button>Replace Element</button> </body> </html>
Example
Following example replace all paragraphs with Brilliant.
<!doctype html> <html lang="en"> <head> <title>The jQuery Example</title> <script src="https://www.tutorialspoint.com/jquery/jquery-3.6.0.js"></script> <script> $(document).ready(function() { $("button").click(function(){ $( "p" ).replaceWith( "<b>Brilliant</b>" ); }); }); </script> </head> <body> <h2>jQuery replaceWith() Method</h2> <p>Zara</p> <p>Nuha</p> <p>Ayan</p> <button>Replace Element</button> </body> </html>