HTMLElement:innerText 属性

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 接口的 innerText 属性表示一个节点及其后代所渲染文本的内容。

作为一个 getter,它近似于用户用光标突出该元素的内容,然后将其复制到剪贴板上所得到的文本。作为一个 setter,这将用给定的值替换该元素的子元素,并将任何换行符转换为 <br> 元素。

备注: innerText 很容易与 Node.textContent 混淆,但这两个属性间实际上有很重要的区别。大体来说,innerText 知道文本的渲染外观,而 textContent 不知道。

输出

一个字符串,代表元素的渲染文本内容。

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

警告: 在一个节点上设置 innerText 会移除该节点的所有子节点,并用给定的字符串值的单一文本节点代替它们。

示例

这个示例对比了 innerTextNode.textContent。请注意 innerText 是如何意识到像 <br> 这样的元素,并忽略了隐藏的元素的。

HTML

html
<h3>源元素:</h3>
<p id="source">
  <style>
    #source {
      color: red;
    }
    #text {
      text-transform: uppercase;
    }
  </style>
  <span id="text">
    来看看<br />
    这段文字<br />
    在下方怎么表示。
  </span>
  <span style="display:none">隐藏文字</span>
</p>
<h3>textContent 结果:</h3>
<textarea id="textContentOutput" rows="6" cols="30" readonly>…</textarea>
<h3>innerText 结果:</h3>
<textarea id="innerTextOutput" rows="6" cols="30" readonly>…</textarea>

JavaScript

js
const source = document.getElementById("source");
const textContentOutput = document.getElementById("textContentOutput");
const innerTextOutput = document.getElementById("innerTextOutput");

textContentOutput.value = source.textContent;
innerTextOutput.value = source.innerText;

结果

规范

Specification
HTML Standard
# the-innertext-idl-attribute

浏览器兼容性

BCD tables only load in the browser

参见