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 7 | Firefox 1 | Firefox 2 |
---|---|---|---|
Interface EventTarget | |||
(General) | N | Y | Y |
addEventListener() | N | Y | Y |
dispatchEvent() | N | Y | Y |
removeEventListener() | N | Y | Y |
Interface EventListener | |||
(General) | I | Y | Y |
handleEvent() | Y | Y | Y |
Interface Event | |||
(General) | I | Y | Y |
bubbles | N | Y | Y |
cancelable | N | Y | Y |
currentTarget | N | Y | Y |
eventPhase | N | Y | Y |
target | N | Y | Y |
timeStamp | N | Y | Y |
type | Y | Y | Y |
initEvent() | N | Y | Y |
preventDefault() | N | Y | Y |
stopPropagation() | N | Y | Y |
Interface DocumentEvent | |||
(General) | N | Y | Y |
createEvent | N | Y | Y |
Interface UIEvent | |||
(General) | N | N | Y |
detail | N | N | Y |
view | N | N | Y |
initUIEvent() | N | N | Y |
Interface MouseEvent | |||
(General) | I | Y | Y |
altKey | Y | Y | Y |
button | I | Y | Y |
clientX | Y | Y | Y |
clientY | Y | Y | Y |
ctrlKey | Y | Y | Y |
metaKey | N | Y | Y |
relatedTarget | N | Y | Y |
screenX | Y | Y | Y |
screenY | Y | Y | Y |
shiftKey | Y | Y | Y |
initMouseEvent() | N | 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) | N | Y | Y |
attrChange | N | Y | Y |
attrName | N | Y | Y |
newValue | N | Y | Y |
prevValue | N | Y | Y |
relatedNode | N | Y | Y |
initMutationEvent() | N | Y | Y |
HTML event types | |||
Type load | Y | Y | Y |
Type unload | Y | I | I |
Type abort | N | 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 7 | Firefox 1 | Firefox 2 |
---|---|---|---|
Interface StyleSheet | |||
(General) | I | Y | Y |
disabled | Y | Y | Y |
href | Y | Y | Y |
media | I | Y | Y |
ownerNode | N | Y | Y |
parentStyleSheet | Y | Y | Y |
title | Y | Y | Y |
type | Y | Y | Y |
Interface StyleSheetList | |||
(General) | I | Y | Y |
length | Y | Y | Y |
item() | Y | Y | Y |
Interface MediaList | |||
(General) | N | Y | Y |
length | N | Y | Y |
mediaText | N | Y | Y |
appendMedium() | N | Y | Y |
deleteMedium() | N | Y | Y |
item() | N | Y | Y |
Interface LinkStyle | |||
(General) | N | Y | Y |
sheet | N | Y | Y |
Interface DocumentStyle | |||
(General) | I | Y | Y |
styleSheets | Y | Y | Y |
Interface CSSStyleSheet | |||
(General) | N | Y | Y |
cssRules | N | I | I |
ownerRule | N | Y | Y |
deleteRule() | N | Y | Y |
insertRule() | N | Y | Y |
Interface CSSRuleList | |||
(General) | N | Y | Y |
length | N | Y | Y |
item() | N | Y | Y |
Interface CSSRule | |||
(General) | N | Y | Y |
cssText | N | Y | Y |
parentRule | N | Y | Y |
parentStyleSheet | N | Y | Y |
type | N | Y | Y |
Interface CSSStyleRule | |||
(General) | N | Y | Y |
selectorText | N | Y | Y |
style | N | Y | Y |
Interface CSSMediaRule | |||
(General) | N | Y | Y |
cssRules | N | Y | Y |
media | N | Y | Y |
deleteRule() | N | Y | Y |
insertRule() | N | Y | Y |
Interface CSSFontFaceRule | |||
(General) | N | N | N |
style | N | N | N |
Interface CSSPageRule | |||
(General) | N | N | N |
selectorText | N | N | N |
style | N | N | N |
Interface CSSImportRule | |||
(General) | N | Y | Y |
href | N | Y | Y |
media | N | Y | Y |
styleSheet | N | Y | Y |
Interface CSSCharsetRule | |||
(General) | N | Y | Y |
encoding | N | Y | Y |
Interface CSSUnknownRule | |||
(General) | N | N | N |
Interface CSSStyleDeclaration | |||
(General) | I | Y | Y |
cssText | Y | Y | Y |
length | N | Y | Y |
parentRule | N | Y | Y |
getPropertyCSSValue() | N | Y | Y |
getPropertyPriority() | N | Y | Y |
getPropertyValue() | N | Y | Y |
item() | N | Y | Y |
removeProperty() | N | Y | Y |
setProperty() | N | Y | Y |
Interface CSSValue | |||
(General) | N | N | N |
cssText | N | N | N |
cssValueType | N | N | N |
Interface CSSPrimitiveValue | |||
(General) | N | Y | Y |
primitiveType | N | Y | Y |
getCounterValue() | N | N | N |
getFloatValue() | N | Y | Y |
getRGBColorValue() | N | Y | Y |
getRectValue() | N | Y | Y |
getStringValue() | N | N | N |
setFloatValue() | N | N | N |
setStringValue() | N | N | N |
Interface CSSValueList | |||
(General) | N | N | N |
length | N | N | N |
item() | N | N | N |
Interface RGBColor | |||
(General) | N | Y | Y |
blue | N | Y | Y |
green | N | Y | Y |
red | N | Y | Y |
Interface Rect | |||
(General) | N | Y | Y |
bottom | N | Y | Y |
left | N | Y | Y |
right | N | Y | Y |
top | N | Y | Y |
Interface Counter | |||
(General) | N | N | N |
identifier | N | N | N |
listStyle | N | N | N |
separator | N | N | N |
Interface ViewCSS | |||
(General) | N | Y | Y |
getComputedStyle() | N | Y | Y |
Interface DocumentCSS | |||
(General) | N | N | N |
getOverrideStyle() | N | N | N |
Interface DOMImplementationCSS | |||
(General) | N | N | N |
createCSSStyleSheet() | N | N | N |
Interface ElementCSSInlineStyle | |||
(General) | I | Y | Y |
style | Y | Y | Y |
Interface CSS2Properties | |||
(General) | I | Y | Y |
azimuth | N | Y | Y |
background | I | I | I |
backgroundAttachment | Y | Y | Y |
backgroundColor | I | Y | Y |
backgroundImage | Y | Y | Y |
backgroundPosition | I | Y | Y |
backgroundRepeat | Y | Y | Y |
border | I | I | I |
borderBottom | I | Y | Y |
borderBottomColor | I | Y | Y |
borderBottomStyle | Y | Y | Y |
borderBottomWidth | I | Y | Y |
borderCollapse | Y | Y | Y |
borderColor | I | I | I |
borderLeft | I | Y | Y |
borderLeftColor | I | Y | Y |
borderLeftStyle | Y | Y | Y |
borderLeftWidth | I | Y | Y |
borderRight | I | Y | Y |
borderRightColor | I | Y | Y |
borderRightStyle | Y | Y | Y |
borderRightWidth | I | Y | Y |
borderSpacing | N | Y | Y |
borderStyle | Y | I | I |
borderTop | I | Y | Y |
borderTopColor | I | Y | Y |
borderTopStyle | Y | Y | Y |
borderTopWidth | I | Y | Y |
borderWidth | I | I | I |
bottom | I | Y | Y |
captionSide | N | Y | Y |
clear | Y | Y | Y |
clip | I | Y | Y |
color | I | Y | Y |
content | N | Y | Y |
counterIncrement | N | Y | Y |
counterReset | N | Y | Y |
cssFloat | N | Y | Y |
cue | N | Y | Y |
cueAfter | N | Y | Y |
cueBefore | N | Y | Y |
cursor | I | Y | Y |
direction | Y | Y | Y |
display | Y | Y | Y |
elevation | N | Y | Y |
emptyCells | N | Y | Y |
font | I | Y | Y |
fontFamily | Y | Y | Y |
fontSize | I | Y | Y |
fontSizeAdjust | N | Y | Y |
fontStretch | N | Y | Y |
fontStyle | Y | Y | Y |
fontVariant | Y | Y | Y |
fontWeight | Y | Y | Y |
height | I | Y | Y |
left | I | Y | Y |
letterSpacing | I | Y | Y |
lineHeight | Y | Y | Y |
listStyle | I | I | I |
listStyleImage | Y | Y | Y |
listStylePosition | Y | Y | Y |
listStyleType | Y | Y | Y |
margin | I | I | I |
marginBottom | I | Y | Y |
marginLeft | I | Y | Y |
marginRight | I | Y | Y |
marginTop | I | Y | Y |
markerOffset | N | Y | Y |
marks | N | Y | Y |
maxHeight | I | Y | Y |
maxWidth | I | Y | Y |
minHeight | I | Y | Y |
minWidth | I | Y | Y |
orphans | N | Y | Y |
outline | N | Y | Y |
outlineColor | N | Y | Y |
outlineStyle | N | Y | Y |
outlineWidth | N | Y | Y |
overflow | Y | Y | Y |
padding | I | I | I |
paddingBottom | I | Y | Y |
paddingLeft | I | Y | Y |
paddingRight | I | Y | Y |
paddingTop | I | Y | Y |
page | N | Y | Y |
pageBreakAfter | Y | Y | Y |
pageBreakBefore | Y | Y | Y |
pageBreakInside | N | Y | Y |
pause | N | Y | Y |
pauseAfter | N | Y | Y |
pauseBefore | N | Y | Y |
pitch | N | Y | Y |
pitchRange | N | Y | Y |
playDuring | N | Y | Y |
position | Y | Y | Y |
quotes | N | Y | Y |
richness | N | Y | Y |
right | I | Y | Y |
size | N | Y | Y |
speakHeader | N | Y | Y |
speakNumeral | N | Y | Y |
speakPunctuation | N | Y | Y |
speechRate | N | Y | Y |
stress | N | Y | Y |
tableLayout | Y | Y | Y |
textAlign | Y | Y | Y |
textDecoration | Y | Y | Y |
textIndent | I | Y | Y |
textShadow | N | Y | Y |
textTransform | Y | Y | Y |
top | I | Y | Y |
unicodeBidi | Y | Y | Y |
verticalAlign | I | Y | Y |
visibility | Y | Y | Y |
voiceFamily | N | Y | Y |
volume | N | Y | Y |
whiteSpace | Y | Y | Y |
widows | N | Y | Y |
width | I | Y | Y |
wordSpacing | I | 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 7 | Firefox 1 | Firefox 2 |
---|---|---|---|
Interface NodeIterator | |||
(General) | N | N | N |
expandEntityReferences | N | N | N |
filter | N | N | N |
root | N | N | N |
whatToShow | N | N | N |
detach() | N | N | N |
nextNode() | N | N | N |
previousNode() | N | N | N |
Interface NodeFilter | |||
(General) | N | Y | Y |
acceptNode() | N | Y | Y |
Interface TreeWalker | |||
(General) | N | Y | Y |
currentNode | N | Y | Y |
expandEntityReference | N | Y | Y |
filter | N | I | I |
root | N | Y | Y |
whatToShow | N | Y | Y |
firstChild() | N | I | I |
lastChild() | N | I | I |
nextNode() | N | I | I |
nextSibling() | N | I | I |
parentNode() | N | I | I |
previousNode() | N | I | I |
previousSibling() | N | I | I |
Interface DocumentTraversal | |||
(General) | N | Y | Y |
createNodeIterator() | N | N | N |
createTreeWalker() | N | Y | Y |
Interface Range | |||
(General) | N | Y | Y |
collapsed | N | Y | Y |
commonAncestorContainer | N | Y | Y |
endContainer | N | Y | Y |
endOffset | N | Y | Y |
startContainer | N | Y | Y |
startOffset | N | Y | Y |
cloneContents() | N | Y | Y |
cloneRange() | N | Y | Y |
collapse() | N | Y | Y |
compareBoundaryPoints() | N | Y | Y |
deleteContents() | N | Y | Y |
detach() | N | Y | Y |
extractContents() | N | Y | Y |
insertNode() | N | Y | Y |
selectNode() | N | Y | Y |
selectNodeContents() | N | Y | Y |
setEnd() | N | Y | Y |
setEndAfter() | N | Y | Y |
setEndBefore() | N | Y | Y |
setStart() | N | Y | Y |
setStartAfter() | N | Y | Y |
startStartBefore() | N | Y | Y |
surroundContents() | N | Y | Y |
toString() | N | Y | Y |
Interface DocumentRange | |||
(General) | N | Y | Y |
createRange() | N | Y | Y |
DOM Level 3 Validation defines a model that aids scripts in maintaining valid documents while modifying their content.
Feature | IE 7 | Firefox 1 | Firefox 2 |
---|---|---|---|
Interface DocumentEditVAL | |||
(General) | N | N | N |
continuousValidityChecking | N | N | N |
domConfig | N | N | N |
getDefinedElements() | N | N | N |
validateDocument() | N | N | N |
Interface NodeEditVAL | |||
(General) | N | N | N |
defaultValue | N | N | N |
enumeratedValues | N | N | N |
canAppendChild() | N | N | N |
canInsertBefore() | N | N | N |
canRemoveChild() | N | N | N |
canReplaceChild() | N | N | N |
nodeValidity() | N | N | N |
Interface ElementEditVAL | |||
(General) | N | N | N |
allowedAttributes | N | N | N |
allowedChildren | N | N | N |
allowedFirstChildren | N | N | N |
allowedNextSiblings | N | N | N |
allowedParents | N | N | N |
allowedPreviousSiblings | N | N | N |
contentType | N | N | N |
requiredAttributes | N | N | N |
canRemoveAttribute() | N | N | N |
canRemoveAttributeNS() | N | N | N |
canRemoveAttributeNode() | N | N | N |
canSetAttribute() | N | N | N |
canSetAttributeNS() | N | N | N |
canSetAttributeNode() | N | N | N |
canSetTextContent() | N | N | N |
isElementDefined() | N | N | N |
isElementDefinedNS() | N | N | N |
Interface CharacterDataEditVAL | |||
(General) | N | N | N |
canAppendData() | N | N | N |
canDeleteData() | N | N | N |
canInsertData() | N | N | N |
canReplaceData() | N | N | N |
canSetData() | N | N | N |
isWhitespaceOnly() | N | N | N |
DOM Level 2 Views defines a model for scripts to handle different views of a document.
Feature | IE 7 | Firefox 1 | Firefox 2 |
---|---|---|---|
Interface AbstractView | |||
(General) | I | Y | Y |
document | Y | Y | Y |
Interface DocumentView | |||
(General) | N | Y | Y |
defaultView | N | Y | Y |