HTMLElement.outerText

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

HTMLElement 接口的 outerText 属性返回与 HTMLElement.innerText 相同的值。当用作 setter 时,它会用给定的文本替换整个当前节点(这与 innerText 不同,后者替换当前节点的内部内容)。

请参阅 HTMLElement.innerText 以了解更多信息和有关两个属性用作 getter 的示例。

一个表示元素及其后代元素的渲染的文本内容的字符串。

如果这个元素本身没有被渲染(例如,从文档中分离或是从视图中隐藏),返回值与 Node.textContent 属性的返回值相同。

当用作 setter 时,它会用给定的文本替换当前节点,并将任何换行符转换为 <br> 元素。

示例

这个例子突出了 outerTextinnerText 在用作 setter 时的根本区别(它们用做 getter 时行为完全一致)。

备注: 这个示例是 innerText 和 outerText 有什么区别?(Stack overflow)的修订后的版本,由 codingintrigue 发起,基于 CC BY-SA 3.0 许可证发布。

考虑包含如下 HTML 代码的页面:

html
<div>
  <p>原始内容</p>
</div>

outerText 替换了整个选中的元素,因此 JavaScript 语句 p.outerText = "整个元素已替换" 替换了整个选中的 p 元素:

html
<div>整个元素已替换</div>

相比之下,p.innerText = "元素内容已替换" 替换了所选中的 p 元素的内部内容:

html
<div>
  <p>元素内容已替换</p>
</div>

规范

Specification
HTML
# dom-outertext

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
outerText

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

参见