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

The element read-only property of the PerformanceElementTiming interface returns an Element which is a pointer to the observed element.


An Element or null if the element is a shadow DOM element.


Logging the observed element

In this example an <img> element is being observed by adding the elementtiming attribute. A PerformanceObserver is registered to get all performance entries of type "element" and the buffered flag is used to access data from before observer creation. The DOM element that is observed is logged to the console.

<img src="image.jpg" alt="a nice image" elementtiming="big-image" />
const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    if (entry.identifier === "big-image") {
observer.observe({ type: "element", buffered: true });


Element Timing API
# ref-for-dom-performanceelementtiming-element

Browser compatibility

BCD tables only load in the browser