CARVIEW |
Select Language
HTTP/2 301
content-length: 162
content-type: text/html
date: Mon, 13 Oct 2025 20:56:20 GMT
location: https://developer.mozilla.org/en-US/docs/Web/API/CharacterData/before
server: nginx
strict-transport-security: max-age=60; includeSubDomains
via: 1.1 google
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
HTTP/2 200
content-type: text/html
x-guploader-uploadid: AAwnv3I7wtHARt1lTv2TKHn679fZ5c-l7msALFb3JKFG-Dqzg3cjmvlUcU8Ps0_bU6iwNSVx
cache-control: public, max-age=3600
expires: Mon, 13 Oct 2025 21:56:21 GMT
last-modified: Fri, 10 Oct 2025 01:04:52 GMT
etag: W/"ec23d9bdc605291590f647321e61b33d"
x-goog-generation: 1760058291905811
x-goog-metageneration: 1
x-goog-stored-content-encoding: identity
x-goog-stored-content-length: 142197
x-goog-meta-goog-reserved-file-mtime: 1760056825
x-goog-hash: crc32c=nG1raQ==, md5=7CPZvcYFKRWQ9kcyHmGzPQ==
x-goog-storage-class: STANDARD
accept-ranges: none
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
alt-svc: clear
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
strict-transport-security: max-age=63072000
content-security-policy: default-src 'self'; script-src 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; script-src-elem 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; style-src 'report-sample' 'self' 'unsafe-inline'; object-src 'none'; base-uri 'self'; connect-src 'self' developer.allizom.org bcd.developer.allizom.org bcd.developer.mozilla.org updates.developer.allizom.org updates.developer.mozilla.org https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://incoming.telemetry.mozilla.org https://observatory-api.mdn.allizom.net https://observatory-api.mdn.mozilla.net https://api.github.com/search/issues stats.g.doubleclick.net https://api.stripe.com; font-src 'self'; frame-src 'self' interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net mdn.github.io live-samples.mdn.mozilla.net live-samples.mdn.allizom.net *.mdnplay.dev *.mdnyalp.dev *.play.test.mdn.allizom.net https://v2.scrimba.com https://scrimba.com jsfiddle.net www.youtube-nocookie.com codepen.io survey.alchemer.com https://js.stripe.com; img-src 'self' data: *.githubusercontent.com *.googleusercontent.com *.gravatar.com mozillausercontent.com firefoxusercontent.com profile.stage.mozaws.net profile.accounts.firefox.com developer.mozilla.org mdn.dev interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net wikipedia.org upload.wikimedia.org https://mdn.github.io/shared-assets/ https://mdn.dev/ https://*.google-analytics.com https://*.googletagmanager.com www.gstatic.com; manifest-src 'self'; media-src 'self' archive.org videos.cdn.mozilla.net https://mdn.github.io/shared-assets/; child-src 'self'; worker-src 'self';
x-frame-options: DENY
origin-trial: AxVILwizhbMjxFeHOn1P3R8niO1RJY/smaK4B4d1rLzc1gTaxtXMSaTi+FoigYgCw40uFRDwFcEAeqDR+vVLOW4AAABfeyJvcmlnaW4iOiJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZyIsImZlYXR1cmUiOiJQcml2YXRlQXR0cmlidXRpb25WMiIsImV4cGlyeSI6MTc0MjA3OTYwMH0=
x-cloud-trace-context: 1fd3c09b9b123aea8c6bf256d0bc33a2
date: Mon, 13 Oct 2025 20:56:21 GMT
server: Google Frontend
via: 1.1 google
vary: Accept-Encoding
content-encoding: gzip
x-cache: miss
CharacterData: before() method - Web APIs | MDN
Toggle sidebar
>
CharacterData: before() method
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.
The before()
method of the CharacterData
interface
inserts a set of Node
objects and strings
in the children list of the CharacterData
's parent, just before the CharacterData
node.
Strings are inserted as Text
nodes; the string is being passed as argument to the Text()
constructor.
Syntax
js
before(...nodes)
Parameters
Return value
None (undefined
).
Exceptions
HierarchyRequestError
DOMException
-
Thrown when the new nodes cannot be inserted at the specified point in the hierarchy, that is if one of the following conditions is met:
- If the insertion of one of the added node would lead to a cycle, that is if one of them is an ancestor of this
CharacterData
node. - If one of the added node is not a
DocumentFragment
, aDocumentType
, anElement
, or aCharacterData
. - If this
CharacterData
node is actually aText
node, and its parent is aDocument
. - If the parent of this
CharacterData
node is aDocument
and one of the nodes to insert is aDocumentFragment
with more than oneElement
child, or that has aText
child.
- If the insertion of one of the added node would lead to a cycle, that is if one of them is an ancestor of this
Examples
The before()
method allows you to insert new nodes before a
CharacterData
node leaving the current node's data unchanged.
js
const h1TextNode = document.querySelector("h1").firstChild;
h1TextNode.before("h1# ");
h1TextNode.parentElement.childNodes;
// NodeList [#text "h1# ", #text "CharacterData.before()"]
h1TextNode.data;
// "CharacterData.before()"
Specifications
Specification |
---|
DOM> # ref-for-dom-childnode-before①> |
Browser compatibility
Loading…