.replaceAll()


.replaceAll( target )傳回: jQuery

說明: 將每個目標元素替換為一組匹配的元素。

.replaceAll() 方法類似於 .replaceWith(),但來源和目標相反。考慮這個 DOM 結構

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>

我們可以建立一個元素,然後用它來替換其他元素

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

這會導致所有元素都被替換

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

或者,我們可以選擇一個元素作為替換

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

這會產生 DOM 結構

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

從這個範例中,我們可以看到選取的元素會從舊位置移動來取代目標,而不是複製。

其他注意事項

  • .replaceAll() 方法會移除所有資料和與移除節點相關的事件處理常式。

範例

用粗體字取代所有段落。

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>

示範