CharacterData

The `CharacterData` abstract interface represents a `Node` object that contains characters. This is an abstract interface, meaning there aren't any object of type `CharacterData`: it is implemented by other interfaces, like `Text`, `Comment`, or `ProcessingInstruction` which aren't abstract.

Properties

Inherits properties from its parent, `Node`, and implements the `ChildNode` and `NonDocumentTypeChildNode` interface.

`CharacterData.data`
Is a `DOMString` representing the textual data contained in this object.
`CharacterData.length` Read only
Returns an `unsigned long` representing the size of the string contained in `CharacterData.data`.
`NonDocumentTypeChildNode.nextElementSibling` Read only
Returns the `Element` immediately following the specified one in its parent's children list, or `null` if the specified element is the last one in the list.
`NonDocumentTypeChildNode.previousElementSibling` Read only
Returns the `Element` immediately prior to the specified one in its parent's children list, or `null` if the specified element is the first one in the list.

Methods

Inherits methods from its parent, `Node`, and implements the `ChildNode` and `NonDocumentTypeChildNode` interface.

`CharacterData.appendData()`
Appends the given `DOMString` to the `CharacterData.data` string; when this method returns, `data` contains the concatenated `DOMString`.
`CharacterData.deleteData()`
Removes the specified amount of characters, starting at the specified offset, from the `CharacterData.data` string; when this method returns, `data` contains the shortened `DOMString`.
`CharacterData.insertData()`
Inserts the specified characters, at the specified offset, in the `CharacterData.data` string; when this method returns, `data` contains the modified `DOMString`.
`ChildNode.remove()`
Removes the object from its parent children list.
`CharacterData.replaceData()`
Replaces the specified amount of characters, starting at the specified offset, with the specified `DOMString`; when this method returns, `data` contains the modified `DOMString`.
`CharacterData.substringData()`
Returns a `DOMString` containing the part of `CharacterData.data` of the specified length and starting at the specified offset.

Specifications

Specification Status Comment
DOM
The definition of 'CharacterData' in that specification.
Living Standard Added implemention of the `ChildNode` and `NonDocumentTypeChildNode` interface.
Document Object Model (DOM) Level 3 Core Specification
The definition of 'CharacterData' in that specification.
Obsolete No change from Document Object Model (DOM) Level 2 Core Specification.
Document Object Model (DOM) Level 2 Core Specification
The definition of 'CharacterData' in that specification.
Obsolete No change from Document Object Model (DOM) Level 1 Specification.
Document Object Model (DOM) Level 1 Specification
The definition of 'CharacterData' in that specification.
Obsolete Initial definition.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support1 Yes16 Yes Yes
Implements `ChildNode` Interface Yes Yes251 No Yes No
`appendData` ? ? ? ? ? ?
`data` ? ? ? ? ? ?
`deleteData` ? ? ? ? ? ?
`insertData` ? ? ? ? ? ?
`length` ? ? ? ? ? ?
`replaceData` ? ? ? ? ? ?
`substringData` ? ? ? ? ? ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes Yes Yes Yes ?
Implements `ChildNode` Interface ? Yes Yes252 Yes ? ?
`appendData` ? ? ? ? ? ? ?
`data` ? ? ? ? ? ? ?
`deleteData` ? ? ? ? ? ? ?
`insertData` ? ? ? ? ? ? ?
`length` ? ? ? ? ? ? ?
`replaceData` ? ? ? ? ? ? ?
`substringData` ? ? ? ? ? ? ?

1. Two properties, `nextElementSibling` and `previousElementSibling`, have been moved to the `NonDocumentTypeChildNode` interface, also implemented by `CharacterData`.