The Text interface represents the textual content of Element or Attr.
If an element has no markup within its content, it has a single child implementing Text that contains the element's text. However, if the element contains markup, it is parsed into information items and Text nodes that form its children.
New documents have a single Text node for each block of text. Over time, more Text nodes may be created as the document's content changes. The Node.normalize() method merges adjacent Text objects back into a single node for each block of text.
<div id="interfaceDiagram" style="display: inline-block; position: relative; width: 100%; padding-bottom: 11.666666666666666%; vertical-align: middle; overflow: hidden;"><svg style="display: inline-block; position: absolute; top: 0; left: 0;" viewbox="-50 0 600 70" preserveAspectRatio="xMinYMin meet"><a xlink:href="/docs/Web/API/EventTarget" target="_top"><rect x="1" y="1" width="110" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="56" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">EventTarget</text></a><polyline points="111,25 121,20 121,30 111,25" stroke="#D4DDE4" fill="none"/><line x1="121" y1="25" x2="151" y2="25" stroke="#D4DDE4"/><a xlink:href="/docs/Web/API/Node" target="_top"><rect x="151" y="1" width="75" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="188.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">Node</text></a><polyline points="226,25 236,20 236,30 226,25" stroke="#D4DDE4" fill="none"/><line x1="236" y1="25" x2="266" y2="25" stroke="#D4DDE4"/><a xlink:href="/docs/Web/API/CharacterData" target="_top"><rect x="266" y="1" width="130" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="331" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">CharacterData</text></a><polyline points="396,25 406,20 406,30 396,25" stroke="#D4DDE4" fill="none"/><line x1="406" y1="25" x2="436" y2="25" stroke="#D4DDE4"/><a xlink:href="/docs/Web/API/Text" target="_top"><rect x="436" y="1" width="75" height="50" fill="#F4F7F8" stroke="#D4DDE4" stroke-width="2px" /><text x="473.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">Text</text></a></svg></div>
a:hover text { fill: #0095DD; pointer-events: all;}
Constructor
Text()- Returns a
Textnode with the parameter as its textual content.
Properties
Inherits properties from its parent, CharacterData.
Text.isElementContentWhitespaceRead only-
Returns a
Booleanflag indicating whether or not the text node contains only whitespace. Text.wholeTextRead only- Returns a
DOMStringcontaining the text of allTextnodes logically adjacent to thisNode, concatenated in document order. Text.assignedSlotRead only- Returns the
HTMLSlotElementobject associated with the element.
Properties included from Slotable
The Text interface includes the following property, defined on the Slotable mixin.
Slotable.assignedSlotRead only- Returns a
HTMLSlotElementrepresenting the<slot>the node is inserted in.
Methods
Inherits methods from its parent, CharacterData.
Text.replaceWholeText- Replaces the text of the current node and all logically adjacent nodes with the specified text.
Text.splitText- Breaks the node into two nodes at a specified offset.
Specifications
| Specification | Status | Comment |
|---|---|---|
| DOM The definition of 'Text' in that specification. |
Living Standard | Removed the isElementContentWhitespace property.Removed the replaceWholeText() method.Added the Text() constructor.Added the assignedSlot property. |
| Document Object Model (DOM) Level 3 Core Specification The definition of 'Text' in that specification. |
Obsolete | Added the isElementContentWhitespace and wholeText properties.Added the replaceWholeText() method. |
| Document Object Model (DOM) Level 2 Core Specification The definition of 'Text' in that specification. |
Obsolete | No change from Document Object Model (DOM) Level 1 Specification. |
| Document Object Model (DOM) Level 1 Specification The definition of 'Text' in that specification. |
Obsolete | Initial definition. |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
Text | Chrome Full support 1 | Edge Full support 12 | Firefox Full support Yes | IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android ? | Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android ? |
Text() constructor | Chrome Full support 28 | Edge Full support ≤79 | Firefox Full support 24 | IE No support No | Opera Full support 15 | Safari Full support 8 | WebView Android Full support Yes | Chrome Android Full support 28 | Firefox Android Full support 24 | Opera Android Full support 14 | Safari iOS Full support 8 | Samsung Internet Android Full support 2.0 |
assignedSlot | Chrome Full support 53 | Edge Full support ≤18 | Firefox Full support Yes | IE ? | Opera Full support 40 | Safari Full support 10.1 | WebView Android Full support 53 | Chrome Android Full support 53 | Firefox Android Full support Yes | Opera Android Full support 41 | Safari iOS Full support 10.3 | Samsung Internet Android Full support 6.0 |
isElementContentWhitespace | Chrome No support No | Edge No support No | Firefox No support ? — 10 | IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android No support ? — 10 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
replaceWholeText | Chrome No support ? — 45 | Edge No support 12 — 79 | Firefox No support ? — 10 | IE Full support Yes | Opera No support ? — 32 | Safari No support No | WebView Android No support ? — 45 | Chrome Android No support ? — 45 | Firefox Android No support ? — 10 | Opera Android No support ? — 32 | Safari iOS No support No | Samsung Internet Android No support ? — 5.0 |
splitText | Chrome
Full support
1
| Edge Full support 12 | Firefox Full support 1 | IE Full support Yes | Opera
Full support
Yes
| Safari
Full support
Yes
| WebView Android
Full support
Yes
| Chrome Android
Full support
18
| Firefox Android Full support 4 | Opera Android
Full support
Yes
| Safari iOS
Full support
Yes
| Samsung Internet Android
Full support
1.0
|
wholeText | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 3.5 | IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android ? | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android ? |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.
- Non-standard. Expect poor cross-browser support.
- Non-standard. Expect poor cross-browser support.
- Deprecated. Not for use in new websites.
- Deprecated. Not for use in new websites.
- See implementation notes.
- See implementation notes.
