This document is a section of the web browser standards support document. It includes detailed information about DOM support in major web browsers.
DOM is a model that allows scripting languages to handle browser input and output and manipulate information on webpages. This is essential for high-end web applications.
DOM Level 3 Core defines the standard methods and attributes across all DOM implementations Levels 3 and below. The DOM Core is the most fundamental part of the DOM specification.
DOM Level 2 Events defines the event model for DOM implementations. It allows the user to actively interact with the contents of the document.
| Feature | Opera 8.5 | Opera 9 |
|---|---|---|
| Interface EventTarget | ||
| (General) | Y | Y |
| addEventListener() | Y | Y |
| dispatchEvent() | Y | Y |
| removeEventListener() | Y | Y |
| Interface EventListener | ||
| (General) | Y | Y |
| handleEvent() | Y | Y |
| Interface Event | ||
| (General) | Y | Y |
| bubbles | Y | Y |
| cancelable | Y | Y |
| currentTarget | Y | Y |
| eventPhase | Y | Y |
| target | Y | Y |
| timeStamp | Y | Y |
| type | Y | Y |
| initEvent() | Y | Y |
| preventDefault() | Y | Y |
| stopPropagation() | Y | Y |
| Interface DocumentEvent | ||
| (General) | Y | Y |
| createEvent | Y | Y |
| Interface UIEvent | ||
| (General) | Y | Y |
| detail | Y | Y |
| view | Y | Y |
| initUIEvent() | Y | Y |
| Interface MouseEvent | ||
| (General) | Y | Y |
| altKey | Y | Y |
| button | Y | Y |
| clientX | Y | Y |
| clientY | Y | Y |
| ctrlKey | Y | Y |
| metaKey | Y | Y |
| relatedTarget | Y | Y |
| screenX | Y | Y |
| screenY | Y | Y |
| shiftKey | Y | Y |
| initMouseEvent() | Y | Y |
| Type click | Y | Y |
| Type mousedown | Y | Y |
| Type mouseup | Y | Y |
| Type mouseover | Y | Y |
| Type mousemove | Y | Y |
| Type mouseout | Y | Y |
| Interface MutationEvent | ||
| (General) | Y | Y |
| attrChange | Y | Y |
| attrName | Y | Y |
| newValue | Y | Y |
| prevValue | Y | Y |
| relatedNode | Y | Y |
| initMutationEvent() | Y | Y |
| HTML event types | ||
| Type load | Y | Y |
| Type unload | Y | Y |
| Type abort | Y | Y |
| Type error | Y | Y |
| Type select | Y | Y |
| Type change | Y | Y |
| Type submit | Y | Y |
| Type reset | Y | Y |
| Type focus | Y | Y |
| Type blur | Y | Y |
| Type resize | Y | Y |
| Type scroll | Y | Y |
DOM Level 2 HTML defines methods and attributes that are specific to HTML implementations of the DOM. This makes common tasks for HTML elements easier and more straight-forward.
DOM Level 3 Load and Save defines a model for scripts to transfer information back and forth between XML documents and DOM structures.
DOM Level 2 Style defines the model for interacting with stylesheets and element style information.
| Feature | Opera 8.5 | Opera 9 |
|---|---|---|
| Interface StyleSheet | ||
| (General) | N | Y |
| disabled | N | I |
| href | N | Y |
| media | N | Y |
| ownerNode | N | Y |
| parentStyleSheet | N | Y |
| title | N | Y |
| type | N | Y |
| Interface StyleSheetList | ||
| (General) | N | Y |
| length | N | Y |
| item() | N | Y |
| Interface MediaList | ||
| (General) | N | I |
| length | N | Y |
| mediaText | N | Y |
| appendMedium() | N | Y |
| deleteMedium() | N | Y |
| item() | N | Y |
| Interface LinkStyle | ||
| (General) | N | Y |
| sheet | N | Y |
| Interface DocumentStyle | ||
| (General) | N | Y |
| styleSheets | N | Y |
| Interface CSSStyleSheet | ||
| (General) | N | Y |
| cssRules | N | Y |
| ownerRule | N | Y |
| deleteRule() | N | Y |
| insertRule() | N | Y |
| Interface CSSRuleList | ||
| (General) | N | Y |
| length | N | Y |
| item() | N | Y |
| Interface CSSRule | ||
| (General) | N | Y |
| cssText | N | Y |
| parentRule | N | Y |
| parentStyleSheet | N | Y |
| type | N | Y |
| Interface CSSStyleRule | ||
| (General) | N | Y |
| selectorText | N | Y |
| style | N | Y |
| Interface CSSMediaRule | ||
| (General) | N | Y |
| cssRules | N | Y |
| media | N | Y |
| deleteRule() | N | Y |
| insertRule() | N | Y |
| Interface CSSFontFaceRule | ||
| (General) | N | Y |
| style | N | Y |
| Interface CSSPageRule | ||
| (General) | N | Y |
| selectorText | N | Y |
| style | N | Y |
| Interface CSSImportRule | ||
| (General) | N | Y |
| href | N | Y |
| media | N | Y |
| styleSheet | N | Y |
| Interface CSSCharsetRule | ||
| (General) | N | Y |
| encoding | N | Y |
| Interface CSSUnknownRule | ||
| (General) | N | Y |
| Interface CSSStyleDeclaration | ||
| (General) | Y | Y |
| cssText | N | Y |
| length | Y | Y |
| parentRule | N | N |
| getPropertyCSSValue() | N | N |
| getPropertyPriority() | N | Y |
| getPropertyValue() | Y | Y |
| item() | Y | Y |
| removeProperty() | Y | Y |
| setProperty() | Y | Y |
| Interface CSSValue | ||
| (General) | N | N |
| cssText | N | N |
| cssValueType | N | N |
| Interface CSSPrimitiveValue | ||
| (General) | N | N |
| primitiveType | N | N |
| getCounterValue() | N | N |
| getFloatValue() | N | N |
| getRGBColorValue() | N | N |
| getRectValue() | N | N |
| getStringValue() | N | N |
| setFloatValue() | N | N |
| setStringValue() | N | N |
| Interface CSSValueList | ||
| (General) | N | N |
| length | N | N |
| item() | N | N |
| Interface RGBColor | ||
| (General) | N | N |
| blue | N | N |
| green | N | N |
| red | N | N |
| Interface Rect | ||
| (General) | N | N |
| bottom | N | N |
| left | N | N |
| right | N | N |
| top | N | N |
| Interface Counter | ||
| (General) | N | N |
| identifier | N | N |
| listStyle | N | N |
| separator | N | N |
| Interface ViewCSS | ||
| (General) | Y | Y |
| getComputedStyle() | Y | Y |
| Interface DocumentCSS | ||
| (General) | N | N |
| getOverrideStyle() | N | N |
| Interface DOMImplementationCSS | ||
| (General) | N | N |
| createCSSStyleSheet() | N | N |
| Interface ElementCSSInlineStyle | ||
| (General) | Y | Y |
| style | Y | Y |
| Interface CSS2Properties | ||
| (General) | Y | Y |
| azimuth | N | N |
| background | I | I |
| backgroundAttachment | Y | Y |
| backgroundColor | Y | Y |
| backgroundImage | Y | Y |
| backgroundPosition | Y | Y |
| backgroundRepeat | Y | Y |
| border | I | I |
| borderBottom | I | I |
| borderBottomColor | Y | Y |
| borderBottomStyle | Y | Y |
| borderBottomWidth | Y | Y |
| borderCollapse | Y | Y |
| borderColor | Y | Y |
| borderLeft | I | I |
| borderLeftColor | Y | Y |
| borderLeftStyle | Y | Y |
| borderLeftWidth | Y | Y |
| borderRight | I | I |
| borderRightColor | Y | Y |
| borderRightStyle | Y | Y |
| borderRightWidth | Y | Y |
| borderSpacing | Y | Y |
| borderStyle | Y | Y |
| borderTop | I | I |
| borderTopColor | Y | Y |
| borderTopStyle | Y | Y |
| borderTopWidth | Y | Y |
| borderWidth | Y | Y |
| bottom | Y | Y |
| captionSide | Y | Y |
| clear | Y | Y |
| clip | Y | Y |
| color | Y | Y |
| content | Y | Y |
| counterIncrement | Y | Y |
| counterReset | Y | Y |
| cssFloat | Y | Y |
| cue | N | N |
| cueAfter | N | N |
| cueBefore | N | N |
| cursor | Y | Y |
| direction | Y | Y |
| display | Y | Y |
| elevation | N | N |
| emptyCells | Y | Y |
| font | I | I |
| fontFamily | Y | Y |
| fontSize | Y | Y |
| fontSizeAdjust | Y | Y |
| fontStretch | Y | Y |
| fontStyle | Y | Y |
| fontVariant | Y | Y |
| fontWeight | Y | Y |
| height | Y | Y |
| left | Y | Y |
| letterSpacing | Y | Y |
| lineHeight | Y | Y |
| listStyle | I | I |
| listStyleImage | Y | Y |
| listStylePosition | Y | Y |
| listStyleType | Y | Y |
| margin | Y | Y |
| marginBottom | Y | Y |
| marginLeft | Y | Y |
| marginRight | Y | Y |
| marginTop | Y | Y |
| markerOffset | Y | Y |
| marks | Y | Y |
| maxHeight | Y | Y |
| maxWidth | Y | Y |
| minHeight | Y | Y |
| minWidth | Y | Y |
| orphans | Y | Y |
| outline | I | I |
| outlineColor | Y | Y |
| outlineStyle | Y | Y |
| outlineWidth | Y | Y |
| overflow | Y | Y |
| padding | Y | Y |
| paddingBottom | Y | Y |
| paddingLeft | Y | Y |
| paddingRight | Y | Y |
| paddingTop | Y | Y |
| page | Y | Y |
| pageBreakAfter | Y | Y |
| pageBreakBefore | Y | Y |
| pageBreakInside | Y | Y |
| pause | Y | Y |
| pauseAfter | Y | Y |
| pauseBefore | Y | Y |
| pitch | N | N |
| pitchRange | Y | Y |
| playDuring | N | N |
| position | Y | Y |
| quotes | Y | Y |
| richness | N | N |
| right | Y | Y |
| size | Y | Y |
| speakHeader | N | N |
| speakNumeral | N | N |
| speakPunctuation | N | N |
| speechRate | Y | Y |
| stress | N | N |
| tableLayout | Y | Y |
| textAlign | Y | Y |
| textDecoration | Y | Y |
| textIndent | Y | Y |
| textShadow | Y | Y |
| textTransform | Y | Y |
| top | Y | Y |
| unicodeBidi | Y | Y |
| verticalAlign | Y | Y |
| visibility | Y | Y |
| voiceFamily | Y | Y |
| volume | Y | Y |
| whiteSpace | Y | Y |
| widows | Y | Y |
| width | Y | Y |
| wordSpacing | Y | Y |
| zIndex | Y | Y |
DOM Level 2 Traversal and Range defines a model for scripts to navigate through document contents and work with data positions.
| Feature | Opera 8.5 | Opera 9 |
|---|---|---|
| Interface NodeIterator | ||
| (General) | Y | Y |
| expandEntityReferences | Y | Y |
| filter | Y | Y |
| root | Y | Y |
| whatToShow | Y | Y |
| detach() | Y | Y |
| nextNode() | Y | Y |
| previousNode() | Y | Y |
| Interface NodeFilter | ||
| (General) | Y | Y |
| acceptNode() | Y | Y |
| Interface TreeWalker | ||
| (General) | Y | Y |
| currentNode | Y | Y |
| expandEntityReference | Y | Y |
| filter | Y | Y |
| root | Y | Y |
| whatToShow | Y | Y |
| firstChild() | Y | Y |
| lastChild() | Y | Y |
| nextNode() | Y | Y |
| nextSibling() | Y | Y |
| parentNode() | Y | Y |
| previousNode() | Y | Y |
| previousSibling() | Y | Y |
| Interface DocumentTraversal | ||
| (General) | Y | Y |
| createNodeIterator() | Y | Y |
| createTreeWalker() | Y | Y |
| Interface Range | ||
| (General) | Y | Y |
| collapsed | Y | Y |
| commonAncestorContainer | Y | Y |
| endContainer | Y | Y |
| endOffset | Y | Y |
| startContainer | Y | Y |
| startOffset | Y | Y |
| cloneContents() | Y | Y |
| cloneRange() | Y | Y |
| collapse() | Y | Y |
| compareBoundaryPoints() | Y | Y |
| deleteContents() | Y | Y |
| detach() | Y | Y |
| extractContents() | Y | Y |
| insertNode() | Y | Y |
| selectNode() | Y | Y |
| selectNodeContents() | Y | Y |
| setEnd() | Y | Y |
| setEndAfter() | Y | Y |
| setEndBefore() | Y | Y |
| setStart() | Y | Y |
| setStartAfter() | Y | Y |
| startStartBefore() | Y | Y |
| surroundContents() | Y | Y |
| toString() | Y | Y |
| Interface DocumentRange | ||
| (General) | Y | Y |
| createRange() | Y | Y |
DOM Level 3 Validation defines a model that aids scripts in maintaining valid documents while modifying their content.
| Feature | Opera 8.5 | Opera 9 |
|---|---|---|
| Interface DocumentEditVAL | ||
| (General) | N | N |
| continuousValidityChecking | N | N |
| domConfig | N | N |
| getDefinedElements() | N | N |
| validateDocument() | N | N |
| Interface NodeEditVAL | ||
| (General) | N | N |
| defaultValue | N | N |
| enumeratedValues | N | N |
| canAppendChild() | N | N |
| canInsertBefore() | N | N |
| canRemoveChild() | N | N |
| canReplaceChild() | N | N |
| nodeValidity() | N | N |
| Interface ElementEditVAL | ||
| (General) | N | N |
| allowedAttributes | N | N |
| allowedChildren | N | N |
| allowedFirstChildren | N | N |
| allowedNextSiblings | N | N |
| allowedParents | N | N |
| allowedPreviousSiblings | N | N |
| contentType | N | N |
| requiredAttributes | N | N |
| canRemoveAttribute() | N | N |
| canRemoveAttributeNS() | N | N |
| canRemoveAttributeNode() | N | N |
| canSetAttribute() | N | N |
| canSetAttributeNS() | N | N |
| canSetAttributeNode() | N | N |
| canSetTextContent() | N | N |
| isElementDefined() | N | N |
| isElementDefinedNS() | N | N |
| Interface CharacterDataEditVAL | ||
| (General) | N | N |
| canAppendData() | N | N |
| canDeleteData() | N | N |
| canInsertData() | N | N |
| canReplaceData() | N | N |
| canSetData() | N | N |
| isWhitespaceOnly() | N | N |
DOM Level 2 Views defines a model for scripts to handle different views of a document.
| Feature | Opera 8.5 | Opera 9 |
|---|---|---|
| Interface AbstractView | ||
| (General) | Y | Y |
| document | Y | Y |
| Interface DocumentView | ||
| (General) | Y | Y |
| defaultView | Y | Y |