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.


var originatingElement = cssPseudoElement.element;


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


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


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

Browser compatibility

BCD tables only load in the browser

See also