This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 2016.
The scrollingElement read-only property of the Document interface returns a reference to the Element that scrolls the document. In standards mode, this is the root element of the document, document.documentElement.
When in quirks mode, the scrollingElement attribute returns the HTML body element if it exists and is not potentially scrollable, otherwise it returns null. This may look surprising but is true according to both the specification and browsers.
The Element that scrolls the document, usually the root element (unless not in standard mode).
const scrollElm = document.scrollingElement; scrollElm.scrollTop = 0;
| Specification |
|---|
| CSSOM View Module> # dom-document-scrollingelement> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
scrollingElement |
44 | 12 | 48 | 31 | 9 | 44 | 48 | 32 | 9 | 4.0 | 44 | 9 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Document/scrollingElement