HTML DOM Element textContent 属性
定义和用法
textContent
属性设置或返回指定节点的文本内容,以及它的所有后代。
如果您设置了 textContent
属性,会删除所有子节点,并被替换为包含给定字符串的一个单独的文本节点。
提示:有时,此属性可用于取代 nodeValue 属性,但是请记住此属性同时会返回所有子节点的文本。
另请参阅:
实例
例子 1
返回元素的文本内容:
let text = element.textContent;
例子 2
更改 id="demo" 的 <p> 元素的文本内容:
element.textContent = "I have changed!";
例子 3
获取 id="myList" 的 <ul> 元素的所有文本内容:
let text = document.getElementById("myList").textContent;
语法
返回节点的文本内容:
element.textContent
或
node.textContent
设置节点的文本内容:
element.textContent = text node.textContent = text
属性值
值 | 描述 |
---|---|
text | 元素或节点的文本内容。 |
返回值
类型 | 描述 |
---|---|
字符串 |
元素及其所有后代的文本内容。 如果元素是 document、document type 或 notation,则返回 null。 |
innerHTML、innerText 与 textContent 的区别
innerText 属性返回:
只返回元素及其所有子元素的文本内容,没有 CSS 隐藏文本间距和标签,除了 <script> 和 <style> 元素。
innerHTML 属性返回:
元素的文本内容,包括所有空白和内部 HTML 标签。
textContent 属性返回:
元素和所有后代的文本内容,带有空白和 CSS 隐藏文本,但没有标签。
HTML 实例
<p id="myP"> This element has extra spacing and contains <span>a span element</span>.</p>
JavaScript 实例
let text = document.getElementById("myP").innerText; let text = document.getElementById("myP").innerHTML; let text = document.getElementById("demo").textContent;
在上面的例子中:
innerText 属性返回:
This element has extra spacing and contains a span element.
innerHTML 属性返回:
This element has extra spacing and contains <span>a span element</span>.
textContent 属性返回:
This element has extra spacing and contains a span element.
浏览器支持
element.textContent
是 DOM Level 3 (2004) 特性。
所有浏览器都完全支持它:
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Chrome | IE | Edge | Firefox | Safari | Opera |
支持 | 9-11 | 支持 | 支持 | 支持 | 支持 |