返回值:jQueryreplaceAll(target)

用指定的内容替换每个匹配的元素。

.replaceAll() 方法和 .replaceWith() 功能一样,只是参数顺序正好相反。例如,有如下的 DOM 结构:

<div class="container">
  <div class="inner first">Hello</div>
  <div class="inner second">And</div>
  <div class="inner third">Goodbye</div>
</div>

我们可以先创建一个 h2 元素,然后使用它替换含有 inner 样式的元素:

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

得到的结果下如:

<div class="container">
  <h2>New heading</h2>
  <h2>New heading</h2>
  <h2>New heading</h2>
</div>

或者我们可以用含有 first 样式的元素替换含有 third 样式的元素:

$('.first').replaceAll('.third');

得到的结果如下:

<div class="container">
  <div class="inner second">And</div>
  <div class="inner first">Hello</div>
</div>

通过上面这个例子我们看到,当从页面上选取元素替换目标元素时,实际上是改变了所选元素的位置,将它从原来的位置移动到了新位置,而不是使用克隆后的元素进行替换。

示例:

使用粗体替换所有的段落标签。

<!DOCTYPE html>
<html>
<head>
<script src="jquery.min.js"></script>
</head>
<body>

<p>Hello</p>
  <p>cruel</p>
  <p>World</p>

<script>

$("<b>Paragraph. </b>").replaceAll("p"); // check replaceWith() examples

</script>
</body>
</html>

演示: