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.


Returns a Text node with the parameter as its textual content.


Inherits 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 all Text nodes logically adjacent to this Node, concatenated in document order.
Text.assignedSlot Read only
Returns the HTMLSlotElement object associated with the element.


Inherits methods from its parent, CharacterData.

Replaces the text of the current node and all logically adjacent nodes with the specified text.
Breaks the node into two nodes at a specified offset.


Specification Status Comment
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.

See also

Document Tags and Contributors

 Last updated by: DomenicDenicola,