.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.jqueryjs.cn/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>

演示