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="https://developer.mozilla.org/en-US/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="https://developer.mozilla.org/en-US/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="https://developer.mozilla.org/en-US/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="https://developer.mozilla.org/en-US/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
Text
node with the parameter as its textual content.
Properties
I
nherits properties from its parent, CharacterData
.
Text.isElementContentWhitespace
Read only-
Returns a
Boolean
flag indicating whether or not the text node contains only whitespace. Text.wholeText
Read only- Returns a
DOMString
containing the text of allText
nodes logically adjacent to thisNode
, concatenated in document order. Text.assignedSlot
Read only- Returns the
HTMLSlotElement
object associated with the element.
Methods
I
nherits 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. |
Recommendation | 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. |
Recommendation | No change from Document Object Model (DOM) Level 1 Specification. |
Document Object Model (DOM) Level 1 Specification The definition of 'Text' in that specification. |
Recommendation | Initial definition. |
Browser compatibility
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 1.0 [3] | (Yes) | 1.0 (1.7 or earlier) | (Yes) | (Yes) [3] | (Yes) [4] |
wholeText |
1.0 | (Yes) | 3.5 (1.9.1) | (Yes) | (Yes) | (Yes) |
isElementContentWhitespace |
No support | (Yes) | (Yes) Removed in 10 (10) |
No support | No support | No support |
replaceWholeText |
(Yes) [1] [2] | (Yes) | 3.5 (1.9.1) Removed in 10 (10) |
(Yes) | (Yes) [1] [2] | (Yes) [4] |
Text() constructor |
28.0 | (Yes) | 24.0 (24.0) | No support | 15.0 | No support |
Feature | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) [3] | (Yes) | 1.0 (1.0) | (Yes) | (Yes) [3] | (Yes) [4] |
wholeText |
(Yes) | (Yes) | 1.0 (1.9.1) | (Yes) | (Yes) | (Yes) |
isElementContentWhitespace |
No support | (Yes) | (Yes) Removed in 10.0 (10) |
No support | No support | No support |
replaceWholeText |
(Yes) [1] [2] | (Yes) | 1.0 (1.9.1) Removed in 10.0 (10) |
(Yes) | (Yes) [1] [2] | (Yes) [4] |
Text() constructor |
(Yes) | (Yes) | 24.0 (24.0) | No support | 15.0 | No support |
[1] Chromium is currently considering dropping its support.
[2] Before Chrome 30 and Opera 17, the argument wasn't mandatory, like required by the specification.
[3] Before Chrome 30 and Opera 17, splitText()
argument was not mandatory, as required by the specification and implemented by IE and Gecko-based browsers.
[4] The argument is not mandatory, though required by the spec.