.replaceAll()

.replaceAll( target )返回类型:jQuery

描述:用匹配的元素集合替换每个目标元素。

.replaceAll()方法类似于.replaceWith(),但是sourcetarget被的反转了。请考虑这样的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-1.10.2.js"></script>
</head>
<body>
<p>Hello</p>
<p>cruel</p>
<p>World</p>
<script>
$( "<b>Paragraph. </b>" ).replaceAll( "p" );
</script>
</body>
</html>

演示: