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 | 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 |
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 |
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 | Firefox 3 | Opera 9 |
---|---|---|
Interface StyleSheet | ||
(General) | Y | Y |
disabled | Y | I |
href | Y | Y |
media | Y | Y |
ownerNode | Y | Y |
parentStyleSheet | Y | Y |
title | Y | Y |
type | Y | Y |
Interface StyleSheetList | ||
(General) | Y | Y |
length | Y | Y |
item() | 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 |
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 |
Interface CSS2Properties | ||
(General) | Y | Y |
azimuth | Y | N |
background | ? | I |
backgroundAttachment | Y | Y |
backgroundColor | Y | Y |
backgroundImage | Y | Y |
backgroundPosition | Y | Y |
backgroundRepeat | Y | Y |
border | ? | I |
borderBottom | Y | I |
borderBottomColor | Y | Y |
borderBottomStyle | Y | Y |
borderBottomWidth | Y | Y |
borderCollapse | Y | Y |
borderColor | ? | Y |
borderLeft | Y | I |
borderLeftColor | Y | Y |
borderLeftStyle | Y | Y |
borderLeftWidth | Y | Y |
borderRight | Y | I |
borderRightColor | Y | Y |
borderRightStyle | Y | Y |
borderRightWidth | Y | Y |
borderSpacing | Y | Y |
borderStyle | ? | Y |
borderTop | Y | I |
borderTopColor | Y | Y |
borderTopStyle | Y | Y |
borderTopWidth | Y | Y |
borderWidth | ? | 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 | Y | N |
cueAfter | Y | N |
cueBefore | Y | N |
cursor | Y | Y |
direction | Y | Y |
display | Y | Y |
elevation | Y | N |
emptyCells | Y | Y |
font | Y | 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 |
listStyleImage | Y | Y |
listStylePosition | Y | Y |
listStyleType | 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 |
padding | ? | 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 | Y | N |
pitchRange | Y | Y |
playDuring | Y | N |
position | 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 |
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 | 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 | 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 | Firefox 3 | Opera 9 |
---|---|---|
Interface AbstractView | ||
(General) | Y | Y |
document | Y | Y |
Interface DocumentView | ||
(General) | Y | Y |
defaultView | Y | Y |