The W3C DOM specification is partitioned in a set of modules
Release versions of the DOM specification by W3C are called levels.
The table below shows which new modules appeared in each Level. Each higher level contains all modules of previous levels.
Note: DOM Level 2 also introduces namespaces.
Level 1 | Level 2 | Level 3 |
Core | XML | Xpath |
HTML | Views | Validation |
Range | Load and Save | |
Traversal | Asynchronous Load | |
Stylesheets | Mutation Name Events | |
CSS | UI Events | |
CSS2 | Text Events | |
Events | Keyboard Events | |
User Interface Events | ||
Mouse Events | ||
Mutation Events | ||
HTML Events |
Modules can be optional and can have different W3C recommendation statusses. You can check if your implementation supports a module using
DOMImplementation.hasFeature(module, level)
or
Node.isSupported(feature, version)
. Append ".0" to the level number (e.g. "3.0" for Level 3). Use null or empty string if any level will do.