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.
Properties
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.
Constructor
Text()
- Returns a
Text
node with the parameter as its textual content.
Methods
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. |
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 | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 1.0 [3] | 1.0 (1.7 or earlier) | (Yes) | (Yes) [3] | (Yes) [4] |
wholeText |
1.0 | 3.5 (1.9.1) | (Yes) | (Yes) | (Yes) |
isElementContentWhitespace |
No support | (Yes) Removed in 10 (10) |
No support | No support | No support |
replaceWholeText |
(Yes) [1] [2] | 3.5 (1.9.1) Removed in 10 (10) |
(Yes) | (Yes) [1] [2] | (Yes) [4] |
Text() constructor |
28.0 | 24.0 (24.0) | No support | 15.0 | No support |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | (Yes) [3] | 1.0 (1.0) | (Yes) | (Yes) [3] | (Yes) [4] |
wholeText |
(Yes) | 1.0 (1.9.1) | (Yes) | (Yes) | (Yes) |
isElementContentWhitespace |
No support | (Yes) Removed in 10.0 (10) |
No support | No support | No support |
replaceWholeText |
(Yes) [1] [2] | 1.0 (1.9.1) Removed in 10.0 (10) |
(Yes) | (Yes) [1] [2] | (Yes) [4] |
Text() constructor |
(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.