Retrieving content value of ::after or ::before in JavaScript

Retrieving content value of ::after or ::before in JavaScript

Share

Let us suppose we had an HTML element which had an ::after property assigned to it. We are going to be retrieving the content value of ::after or ::before of this element using JavaScript. For the following element:

#element::after {
  content: 'Custom value'
}
JavaScript

If we needed a way of retrieving content value of ::after in JavaScript, that is ‘Custom value’, we would need to make use of the getComputedStyle() method available on the window object.

const getContentValueOfPseudoElement = (element, pseudoSelector) => {
    const styles = window.getComputedStyle(el, '::'+ pseudoSelector);
    return styles.content;
}
JavaScript

Then, if we wanted to get the content value of ::before, we would do:

console.log(getContentOfPseudoElement(document.getElementById('element'), 'before'));
JavaScript

Or if we wanted the ::after element:

console.log(getContentOfPseudoElement(document.getElementById('element'), 'after'));
JavaScript

It is also worth noting that if the content property is not defined, we will get the string “none” as the result from the method.

0
Would love your thoughts, please comment.x
()
x