CSSPseudoElement.element

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The element read-only property of the CSSPseudoElement interface returns a reference to the originating element of the pseudo-element, in other words its parent element.

Syntax

var originatingElement = cssPseudoElement.element;

Value

An Element representing the pseudo-element's originating element.

Examples

The example below demonstrates the relationship between CSSPseudoElement.element and Element.pseudo():

const myElement = document.querySelector('q');
const cssPseudoElement = myElement.pseudo('::after');
const originatingElement = cssPseudoElement.element;

console.log(myElement === originatingElement);                  // Outputs true
console.log(myElement.parentElement === originatingElement);    // Outputs false
console.log(myElement.lastElementChild === cssPseudoElement);   // Outputs false
console.log(myElement.lastChild === cssPseudoElement);          // Outputs false
console.log(myElement.nextElementSibling === cssPseudoElement); // Outputs false
console.log(myElement.nextSibling === cssPseudoElement);        // Outputs false

Specifications

Specification Status Comment
CSS Pseudo-Elements Level 4
The definition of 'element' in that specification.
Working Draft Initial definition.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
element
Experimental
Chrome No support NoEdge No support NoFirefox Full support 75
Disabled
Full support 75
Disabled
Disabled From version 75: this feature is behind the dom.css_pseudo_element.enabled preference. To change preferences in Firefox, visit about:config.
No support 67 — 75
Disabled
Disabled From version 67 until version 75 (exclusive): this feature is behind the dom.animations-api.getAnimations.enabled preference. To change preferences in Firefox, visit about:config.
No support 63 — 67
Alternate Name Disabled
Alternate Name Uses the non-standard name: parentElement
Disabled From version 63 until version 67 (exclusive): this feature is behind the dom.animations-api.getAnimations.enabled preference. To change preferences in Firefox, visit about:config.
No support 47 — 63
Alternate Name Disabled
Alternate Name Uses the non-standard name: parentElement
Disabled From version 47 until version 63 (exclusive): this feature is behind the dom.animations-api.core.enabled preference. To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 67
Disabled
Full support 67
Disabled
Disabled From version 67: this feature is behind the dom.animations-api.getAnimations.enabled preference. To change preferences in Firefox, visit about:config.
No support 63 — 67
Alternate Name Disabled
Alternate Name Uses the non-standard name: parentElement
Disabled From version 63 until version 67 (exclusive): this feature is behind the dom.animations-api.getAnimations.enabled preference. To change preferences in Firefox, visit about:config.
No support 47 — 63
Alternate Name Disabled
Alternate Name Uses the non-standard name: parentElement
Disabled From version 47 until version 63 (exclusive): this feature is behind the dom.animations-api.core.enabled preference. To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No

Legend

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
User must explicitly enable this feature.
User must explicitly enable this feature.
Uses a non-standard name.
Uses a non-standard name.

See also