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
undefined
andnull
. - It is falsy in boolean contexts.
- Its
typeof
is"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
undefined
ornull
. - 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