Document: all property
Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
The Document interface's read-only all
property returns an HTMLAllCollection rooted at the document node. In
other words, it returns all of the document's elements, accessible by order (like an
array) and by ID (like a regular object).
Value
An HTMLAllCollection which contains every element in the document.
Special type conversion behavior
For historical reasons, document.all is an object that in many ways behaves like undefined. Specifically:
- It is loosely equal to
undefinedandnull. - It is falsy in boolean contexts.
- Its
typeofis"undefined".
These special behaviors ensure that code like:
js
if (document.all) {
// Assume that we are in IE; provide special logic
}
// Assume that we are in a modern browser
Will continue to provide modern behavior even if the code is run in a browser that implements document.all for compatibility reasons.
However, in all other contexts, document.all remains an object. For example:
- It is not strictly equal to either
undefinedornull. - When used on the left-hand side of the nullish coalescing operator (
??) or the optional chaining operator (?.), it will not cause the expression to short-circuit.
Specifications
| Specification |
|---|
| HTML Standard # dom-document-all |
Browser compatibility
BCD tables only load in the browser