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 | IE 8 | Firefox 3 | 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 | 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 | Y |
button | ? | Y | Y |
clientX | Y | Y | Y |
clientY | Y | Y | Y |
ctrlKey | Y | Y | Y |
metaKey | ? | Y | Y |
relatedTarget | ? | Y | Y |
screenX | Y | Y | Y |
screenY | Y | Y | Y |
shiftKey | Y | Y | Y |
initMouseEvent() | ? | Y | Y |
Type click | Y | Y | Y |
Type mousedown | Y | Y | Y |
Type mouseup | Y | Y | Y |
Type mouseover | Y | Y | Y |
Type mousemove | Y | Y | Y |
Type mouseout | Y | 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 | Y |
Type unload | Y | ? | Y |
Type abort | ? | Y | Y |
Type error | Y | Y | Y |
Type select | Y | Y | Y |
Type change | Y | Y | Y |
Type submit | Y | Y | Y |
Type reset | Y | Y | Y |
Type focus | Y | Y | Y |
Type blur | Y | Y | Y |
Type resize | Y | Y | Y |
Type scroll | Y | 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 | IE 8 | Firefox 3 | Opera 9 |
---|---|---|---|
Interface StyleSheet | |||
(General) | ? | Y | Y |
disabled | Y | Y | I |
href | ? | Y | Y |
media | ? | Y | Y |
ownerNode | ? | Y | Y |
parentStyleSheet | Y | Y | Y |
title | Y | Y | Y |
type | Y | Y | Y |
Interface StyleSheetList | |||
(General) | ? | Y | Y |
length | Y | Y | Y |
item() | Y | Y | Y |
Interface MediaList | |||
(General) | ? | Y | I |
length | ? | Y | Y |
mediaText | ? | Y | Y |
appendMedium() | ? | Y | Y |
deleteMedium() | ? | Y | Y |
item() | ? | Y | Y |
Interface LinkStyle | |||
(General) | ? | Y | Y |
sheet | ? | Y | Y |
Interface DocumentStyle | |||
(General) | ? | Y | Y |
styleSheets | Y | Y | Y |
Interface CSSStyleSheet | |||
(General) | ? | Y | Y |
cssRules | ? | ? | Y |
ownerRule | ? | Y | Y |
deleteRule() | ? | Y | Y |
insertRule() | ? | Y | Y |
Interface CSSRuleList | |||
(General) | ? | Y | Y |
length | ? | Y | Y |
item() | ? | Y | Y |
Interface CSSRule | |||
(General) | ? | Y | Y |
cssText | ? | Y | Y |
parentRule | ? | Y | Y |
parentStyleSheet | ? | Y | Y |
type | ? | Y | Y |
Interface CSSStyleRule | |||
(General) | ? | Y | Y |
selectorText | ? | Y | Y |
style | ? | Y | Y |
Interface CSSMediaRule | |||
(General) | ? | Y | Y |
cssRules | ? | Y | Y |
media | ? | Y | Y |
deleteRule() | ? | Y | Y |
insertRule() | ? | Y | Y |
Interface CSSFontFaceRule | |||
(General) | ? | ? | Y |
style | ? | ? | Y |
Interface CSSPageRule | |||
(General) | ? | ? | Y |
selectorText | ? | ? | Y |
style | ? | ? | Y |
Interface CSSImportRule | |||
(General) | ? | Y | Y |
href | ? | Y | Y |
media | ? | Y | Y |
styleSheet | ? | Y | Y |
Interface CSSCharsetRule | |||
(General) | ? | Y | Y |
encoding | ? | Y | Y |
Interface CSSUnknownRule | |||
(General) | ? | ? | Y |
Interface CSSStyleDeclaration | |||
(General) | ? | Y | Y |
cssText | ? | Y | Y |
length | ? | Y | Y |
parentRule | ? | Y | N |
getPropertyCSSValue() | ? | Y | N |
getPropertyPriority() | ? | Y | Y |
getPropertyValue() | ? | Y | Y |
item() | ? | Y | Y |
removeProperty() | ? | Y | Y |
setProperty() | ? | Y | Y |
Interface CSSValue | |||
(General) | ? | ? | N |
cssText | ? | ? | N |
cssValueType | ? | ? | N |
Interface CSSPrimitiveValue | |||
(General) | ? | Y | N |
primitiveType | ? | Y | N |
getCounterValue() | ? | ? | N |
getFloatValue() | ? | Y | N |
getRGBColorValue() | ? | Y | N |
getRectValue() | ? | Y | N |
getStringValue() | ? | ? | N |
setFloatValue() | ? | ? | N |
setStringValue() | ? | ? | N |
Interface CSSValueList | |||
(General) | ? | ? | N |
length | ? | ? | N |
item() | ? | ? | N |
Interface RGBColor | |||
(General) | ? | Y | N |
blue | ? | Y | N |
green | ? | Y | N |
red | ? | Y | N |
Interface Rect | |||
(General) | ? | Y | N |
bottom | ? | Y | N |
left | ? | Y | N |
right | ? | Y | N |
top | ? | Y | N |
Interface Counter | |||
(General) | ? | ? | N |
identifier | ? | ? | N |
listStyle | ? | ? | N |
separator | ? | ? | N |
Interface ViewCSS | |||
(General) | ? | Y | Y |
getComputedStyle() | ? | Y | Y |
Interface DocumentCSS | |||
(General) | ? | ? | N |
getOverrideStyle() | ? | ? | N |
Interface DOMImplementationCSS | |||
(General) | ? | ? | N |
createCSSStyleSheet() | ? | ? | N |
Interface ElementCSSInlineStyle | |||
(General) | ? | Y | Y |
style | Y | Y | Y |
Interface CSS2Properties | |||
(General) | ? | Y | Y |
azimuth | ? | Y | N |
background | ? | ? | I |
backgroundAttachment | Y | Y | Y |
backgroundColor | ? | Y | Y |
backgroundImage | Y | Y | Y |
backgroundPosition | ? | Y | Y |
backgroundRepeat | Y | Y | Y |
border | ? | ? | I |
borderBottom | ? | Y | I |
borderBottomColor | ? | Y | Y |
borderBottomStyle | Y | Y | Y |
borderBottomWidth | ? | Y | Y |
borderCollapse | Y | Y | Y |
borderColor | ? | ? | Y |
borderLeft | ? | Y | I |
borderLeftColor | ? | Y | Y |
borderLeftStyle | Y | Y | Y |
borderLeftWidth | ? | Y | Y |
borderRight | ? | Y | I |
borderRightColor | ? | Y | Y |
borderRightStyle | Y | Y | Y |
borderRightWidth | ? | Y | Y |
borderSpacing | ? | Y | Y |
borderStyle | Y | ? | Y |
borderTop | ? | Y | I |
borderTopColor | ? | Y | Y |
borderTopStyle | Y | Y | Y |
borderTopWidth | ? | Y | Y |
borderWidth | ? | ? | Y |
bottom | ? | Y | Y |
captionSide | ? | Y | Y |
clear | Y | Y | Y |
clip | ? | Y | Y |
color | ? | Y | Y |
content | ? | Y | Y |
counterIncrement | ? | Y | Y |
counterReset | ? | Y | Y |
cssFloat | ? | Y | Y |
cue | ? | Y | N |
cueAfter | ? | Y | N |
cueBefore | ? | Y | N |
cursor | ? | Y | Y |
direction | Y | Y | Y |
display | Y | Y | Y |
elevation | ? | Y | N |
emptyCells | ? | Y | Y |
font | ? | Y | I |
fontFamily | Y | Y | Y |
fontSize | ? | Y | Y |
fontSizeAdjust | ? | Y | Y |
fontStretch | ? | Y | Y |
fontStyle | Y | Y | Y |
fontVariant | Y | Y | Y |
fontWeight | Y | Y | Y |
height | ? | Y | Y |
left | ? | Y | Y |
letterSpacing | ? | Y | Y |
lineHeight | Y | Y | Y |
listStyle | ? | ? | I |
listStyleImage | Y | Y | Y |
listStylePosition | Y | Y | Y |
listStyleType | Y | Y | Y |
margin | ? | ? | 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 | ? | Y | I |
outlineColor | ? | Y | Y |
outlineStyle | ? | Y | Y |
outlineWidth | ? | Y | Y |
overflow | Y | Y | Y |
padding | ? | ? | Y |
paddingBottom | ? | Y | Y |
paddingLeft | ? | Y | Y |
paddingRight | ? | Y | Y |
paddingTop | ? | Y | Y |
page | ? | Y | Y |
pageBreakAfter | Y | Y | Y |
pageBreakBefore | Y | Y | Y |
pageBreakInside | ? | Y | Y |
pause | ? | Y | Y |
pauseAfter | ? | Y | Y |
pauseBefore | ? | Y | Y |
pitch | ? | Y | N |
pitchRange | ? | Y | Y |
playDuring | ? | Y | N |
position | Y | Y | Y |
quotes | ? | Y | Y |
richness | ? | Y | N |
right | ? | Y | Y |
size | ? | Y | Y |
speakHeader | ? | Y | N |
speakNumeral | ? | Y | N |
speakPunctuation | ? | Y | N |
speechRate | ? | Y | Y |
stress | ? | Y | N |
tableLayout | Y | Y | Y |
textAlign | Y | Y | Y |
textDecoration | Y | Y | Y |
textIndent | ? | Y | Y |
textShadow | ? | Y | Y |
textTransform | Y | Y | Y |
top | ? | Y | Y |
unicodeBidi | Y | Y | Y |
verticalAlign | ? | Y | Y |
visibility | Y | Y | Y |
voiceFamily | ? | Y | Y |
volume | ? | Y | Y |
whiteSpace | Y | Y | Y |
widows | ? | Y | Y |
width | ? | Y | Y |
wordSpacing | ? | Y | Y |
zIndex | Y | Y | Y |
DOM Level 2 Traversal and Range defines a model for scripts to navigate through document contents and work with data positions.
Feature | IE 8 | Firefox 3 | Opera 9 |
---|---|---|---|
Interface NodeIterator | |||
(General) | ? | ? | Y |
expandEntityReferences | ? | ? | Y |
filter | ? | ? | Y |
root | ? | ? | Y |
whatToShow | ? | ? | Y |
detach() | ? | ? | Y |
nextNode() | ? | ? | Y |
previousNode() | ? | ? | Y |
Interface NodeFilter | |||
(General) | ? | Y | Y |
acceptNode() | ? | Y | Y |
Interface TreeWalker | |||
(General) | ? | Y | Y |
currentNode | ? | Y | Y |
expandEntityReference | ? | Y | Y |
filter | ? | ? | Y |
root | ? | Y | Y |
whatToShow | ? | Y | Y |
firstChild() | ? | ? | Y |
lastChild() | ? | ? | Y |
nextNode() | ? | ? | Y |
nextSibling() | ? | ? | Y |
parentNode() | ? | ? | Y |
previousNode() | ? | ? | Y |
previousSibling() | ? | ? | Y |
Interface DocumentTraversal | |||
(General) | ? | Y | Y |
createNodeIterator() | ? | ? | 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 | IE 8 | Firefox 3 | Opera 9 |
---|---|---|---|
Interface DocumentEditVAL | |||
(General) | ? | ? | N |
continuousValidityChecking | ? | ? | N |
domConfig | ? | ? | N |
getDefinedElements() | ? | ? | N |
validateDocument() | ? | ? | N |
Interface NodeEditVAL | |||
(General) | ? | ? | N |
defaultValue | ? | ? | N |
enumeratedValues | ? | ? | N |
canAppendChild() | ? | ? | N |
canInsertBefore() | ? | ? | N |
canRemoveChild() | ? | ? | N |
canReplaceChild() | ? | ? | N |
nodeValidity() | ? | ? | N |
Interface ElementEditVAL | |||
(General) | ? | ? | N |
allowedAttributes | ? | ? | N |
allowedChildren | ? | ? | N |
allowedFirstChildren | ? | ? | N |
allowedNextSiblings | ? | ? | N |
allowedParents | ? | ? | N |
allowedPreviousSiblings | ? | ? | N |
contentType | ? | ? | N |
requiredAttributes | ? | ? | N |
canRemoveAttribute() | ? | ? | N |
canRemoveAttributeNS() | ? | ? | N |
canRemoveAttributeNode() | ? | ? | N |
canSetAttribute() | ? | ? | N |
canSetAttributeNS() | ? | ? | N |
canSetAttributeNode() | ? | ? | N |
canSetTextContent() | ? | ? | N |
isElementDefined() | ? | ? | N |
isElementDefinedNS() | ? | ? | N |
Interface CharacterDataEditVAL | |||
(General) | ? | ? | N |
canAppendData() | ? | ? | N |
canDeleteData() | ? | ? | N |
canInsertData() | ? | ? | N |
canReplaceData() | ? | ? | N |
canSetData() | ? | ? | N |
isWhitespaceOnly() | ? | ? | N |
DOM Level 2 Views defines a model for scripts to handle different views of a document.
Feature | IE 8 | Firefox 3 | Opera 9 |
---|---|---|---|
Interface AbstractView | |||
(General) | ? | Y | Y |
document | Y | Y | Y |
Interface DocumentView | |||
(General) | ? | Y | Y |
defaultView | ? | Y | Y |