.replaceAll()


.replaceAll( target )Returns: jQuery

Description: Replace each target element with the set of matched elements.

The .replaceAll() method is similar to .replaceWith(), but with the source and target reversed. Consider this DOM structure:

1
2
3
4
5
<div class="container">
<div class="inner first">Hello</div>
<div class="inner second">And</div>
<div class="inner third">Goodbye</div>
</div>

We can create an element, then replace other elements with it:

1
$( "<h2>New heading</h2>" ).replaceAll( ".inner" );

This causes all of them to be replaced:

1
2
3
4
5
<div class="container">
<h2>New heading</h2>
<h2>New heading</h2>
<h2>New heading</h2>
</div>

Or, we could select an element to use as the replacement:

1
$( ".first" ).replaceAll( ".third" );

This results in the DOM structure:

1
2
3
4
<div class="container">
<div class="inner second">And</div>
<div class="inner first">Hello</div>
</div>

From this example, we can see that the selected element replaces the target by being moved from its old location, not by being cloned.

Additional Notes:

  • The .replaceAll() method removes all data and event handlers associated with the removed nodes.

Example:

Replace all the paragraphs with bold words.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>replaceAll demo</title>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
<p>Hello</p>
<p>cruel</p>
<p>World</p>
<script>
$( "<b>Paragraph. </b>" ).replaceAll( "p" );
</script>
</body>
</html>

Demo: