aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/htmlelement/innertext/index.html
blob: 3062dda65f4347ade94f655b70fa7ff4aedb1f41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
---
title: HTMLElement.innerText
slug: Web/API/Node/innerText
tags:
  - API
  - DOM
  - HTMLElement
  - Property
  - Reference
  - 参考
  - 属性
translation_of: Web/API/HTMLElement/innerText
---
<div>{{APIRef("DOM")}}</div>

<p><span class="seoSummary"><code><strong>innerText</strong></code> 属性表示一个节点及其后代的“渲染”文本内容。</span> As a getter, it approximates the text the user would get if they highlighted the contents of the element with the cursor and then copied it to the clipboard.</p>

<div class="blockIndicator note">
<p><strong>Note:</strong> <code>innerText</code> 很容易与{{domxref("Node.textContent")}}混淆, 但这两个属性间实际上有很重要的区别. 大体来说, <code>innerText</code> 可操作已被渲染的内容, 而 <code>textContent</code> 则不会.</p>
</div>

<h2 id="语法">语法</h2>

<pre class="syntaxbox">var <em>renderedText</em> = <em>HTMLElement</em>.innerText;
<em>HTMLElement</em>.innerText = <em>string</em>;</pre>

<h3 id="输出值">输出值</h3>

<p>一段 {{domxref("DOMString")}} 表示一个元素中已被渲染的内容. 如果元素自身没有 <a href="https://html.spec.whatwg.org/multipage/rendering.html#being-rendered">被渲染</a> (e.g 被从文档中删除或没有在视图中显示), 这时返回值与 {{domxref("Node.textContent")}} 属性相同.</p>

<h2 id="例子">例子</h2>

<p>这个示例对比了 <code>innerText</code> 和 {{domxref("Node.textContent")}}. 这时 <code>innerText</code> 代表的含义就像 {{htmlElement("br")}} 标签, 并且忽略了隐藏的元素.</p>

<h3 id="HTML">HTML</h3>

<pre class="brush: html">&lt;h3&gt;Source element:&lt;/h3&gt;
&lt;p id="source"&gt;
  &lt;style&gt;#source { color: red; }&lt;/style&gt;
Take a look at&lt;br&gt;how this text&lt;br&gt;is interpreted
       below.
  &lt;span style="display:none"&gt;HIDDEN TEXT&lt;/span&gt;
&lt;/p&gt;
&lt;h3&gt;Result of textContent:&lt;/h3&gt;
&lt;textarea id="textContentOutput" rows="6" cols="30" readonly&gt;...&lt;/textarea&gt;
&lt;h3&gt;Result of innerText:&lt;/h3&gt;
&lt;textarea id="innerTextOutput" rows="6" cols="30" readonly&gt;...&lt;/textarea&gt;</pre>

<h3 id="JavaScript">JavaScript</h3>

<pre class="brush: js">const source = document.getElementById('source');
const textContentOutput = document.getElementById('textContentOutput');
const innerTextOutput = document.getElementById('innerTextOutput');

textContentOutput.innerHTML = source.textContent;
innerTextOutput.innerHTML = source.innerText;</pre>

<h3 id="结果">结果</h3>

<p>{{EmbedLiveSample("Example", 700, 450)}}</p>

<h2 id="规范">规范</h2>

<table>
 <tbody>
  <tr>
   <th scope="col">规范</th>
   <th scope="col">状态</th>
   <th scope="col">备注</th>
  </tr>
  <tr>
   <td>{{SpecName('HTML WHATWG', 'dom.html#the-innertext-idl-attribute', 'innerText')}}</td>
   <td>{{Spec2('HTML WHATWG')}}</td>
   <td>Introduced, based on the <a href="https://github.com/rocallahan/innerText-spec">draft of the innerText specification</a>. See <a href="https://github.com/whatwg/html/issues/465">whatwg/html#465</a> and <a href="https://github.com/whatwg/compat/issues/5">whatwg/compat#5</a> for history.</td>
  </tr>
 </tbody>
</table>

<h2 id="浏览器兼容">浏览器兼容</h2>



<p>{{Compat("api.HTMLElement.innerText")}}</p>

<p>此特性最初由 Internet Explorer 引入。 被所有主要的浏览器供应商(vendor)采用后,它于 2016 年正式进入 HTML 标准。</p>

<h2 id="参见">参见</h2>

<ul>
 <li>{{domxref("HTMLElement.outerText")}}</li>
 <li>{{domxref("Element.innerHTML")}}</li>
</ul>