HOWTO · JavaScript
JavaScript 中的 outerHTML 属性
在本文中,我们将详细介绍 JavaScript 中的 outerHTML 属性。
outerHTML 是一个 JavaScript 属性,允许你获取和设置元素的 HTML。例如,如果你有一个如下的 HTML 标签,那么使用 outerHTML 属性你会得到 <div> </div> 作为输出。
<div>Text</div>
如果 div 具有 class 或 id 之类的属性,你将使用 HTML 获得所有此类详细信息。outerHTML 用于返回或设置元素的 HTML。
与此相反的是 innerHTML 属性,它设置或返回标签中存在的文本。在这种情况下,innerHTML 属性将返回包含在 div HTML 标记中的单词 Text。
让我们举一个例子,说明如何使用 outerHTML 属性获取和设置元素的 HTML。我们目前在我们的 HTML 中有一个单一的 div 元素,其 class 为 oldElement。
<body>
<div class="oldElement">Text</div>
</body>
我们在 div 元素中添加了一些文本。首先,我们将看到如何使用 outerHTML 属性获取上述元素的 HTML,然后我们将看到如何用不同的 HTML 元素替换或设置这个 HTML div。
在 JavaScript 中使用 outerHTML 获取元素的 HTML
要获取 div 元素的 HTML,我们首先必须使用其 class 属性将 div 的引用存储在 JavaScript 代码中,并使用 getElementsByClassName() 方法,这是 DOM API 的一部分.
<!DOCTYPE html>
<html>
<body>
<div class="oldElement">This is an old element.</div>
</body>
<script>
var oldElement = document.getElementsByClassName('oldElement')[0];
console.log(oldElement.outerHTML)
</script>
</html>
由于我们使用其类名访问元素,因此我们还必须在末尾使用 [0],因为 getElementsByClassName() 返回一个数组,因为我们的 DOM 中只有一个具有该类名的元素。
因此,我们将访问数组的 [0] 元素。然后我们将该元素存储在 oldElement 变量中。
要获取存储在 oldElement 变量中的该元素的 HTML,我们将在该变量上使用 outerHTML,如上所示的代码在控制台上打印它。
输出:

在 JavaScript 中使用 outerHTML 设置元素的 HTML
现在让我们看看如何为相同的 div 元素设置 HTML,我们已经使用 outerHTML 属性将其存储在 oldElement 变量中。
我们将使用赋值 (=) 运算符;由于我们想为这个元素设置或赋值,我们将使用赋值(=)运算符。
outerHTML 只接受字符串形式的 HTML 元素。因此,我们使用 outerHTML 属性将 h1 标记作为包含一些文本的字符串分配给 oldElement 变量。
<!DOCTYPE html>
<html>
<body>
<div class="oldElement">This is an old element.</div>
</body>
<script>
var oldElement = document.getElementsByClassName('oldElement')[0];
oldElement.outerHTML = "<h1>This is an new element.</h1>";
</script>
</html>
这将用这个新的 HTML 元素替换整个 div 元素及其值。如果你查看 DOM 树,你会看到 div HTML 元素已替换为 h1 HTML 元素。
有关详细信息,请参见下图。

结论
要获取任何元素的 HTML,我们使用 outerHTML 属性。此属性返回元素的外部 HTML。它可以用一个新的 HTML 元素替换一个 HTML 元素,只是将新的 HTML 元素作为字符串绕过该属性。