Comparison of JavaScript engines (DOM support)
The following tables compare Document Object Model (DOM) compatibility and support for a number of JavaScript engines used in web browsers.
For features that are fully supported (based on DOM Level 2 or DOM Level 3 modules that are under W3C Recommendation), an exact version number is given if it is certain that the feature was added in such version. DOM Level 0 and DOM Level 3 modules that are still under development are not included.
Explanation of tables
See List of ECMAScript engines for a full list.
Values
These indicate the level of support for the given item in each engine. By default, the most recent version of the engine is implied. However, a specific version number can be listed; when this indicates full support, it's the initial version of the engine fully supporting the item.
Value | Meaning |
---|---|
Yes | Fully supported |
No | Has never been supported |
Partial | Only some values are supported |
Incorrect | Not implemented correctly in all cases |
Experimental | May be incomplete or buggy |
Nightly build | Currently in development; full support is expected |
Depends | Only supported for the specified conditions |
Dropped | No longer supported |
General overview
Trident | Tasman | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|---|
DOM1 | 6.0 | Yes | 1.0 | 85 | Yes | 1.0 |
DOM2 | Mostly | Partial | Mostly | Partial | Mostly | Mostly |
DOM3 | No | No | Partial | Partial | Partial | Partial |
Core (Fundamental)
The interfaces within this section are considered fundamental, and must be fully implemented by all conforming implementations of the DOM, including all HTML DOM implementations.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Exception DOMException | |||||||
DOM1 | code |
5.0[t 1] | ? | 1.0 | ? | ? | 1.0 |
Interface DOMStringList | |||||||
DOM3 | length |
6.0[t 2] | No | 1.6 | No | ? | 2.0 |
contains() |
? | ||||||
item() |
? | ||||||
Interface NameList | |||||||
DOM3 | length |
No | No | 1.6 | No | No | No |
getName() | |||||||
getNamespaceURI() | |||||||
contains() | |||||||
containsNS() | |||||||
Interface DOMImplementationList | |||||||
DOM3 | length |
No | No | No | No | No | No |
item() | |||||||
Interface DOMImplementationSource | |||||||
DOM3 | getDOMImplementation() |
No | No | No | No | No | No |
getDOMImplementationList() | |||||||
Interface DOMImplementation | |||||||
DOM1 | hasFeature() |
6.0 | ? | 1.0 | Yes | ? | 1.0 |
DOM2 | createDocumentType() |
9.0[t 3] | No | ? | 1.0 | ||
createDocument() |
? | ||||||
DOM3 | getFeature() |
No | No | No | ? | 1.0 | |
Interface DocumentFragment | |||||||
DOM1 | (no properties) |
6.0 | No | 1.0 | ? | ? | 1.0 |
Interface Document | |||||||
DOM1 | doctype |
9.0 | Yes | Partial | Yes | ? | 1.0 |
createElement() |
4.0 | 1.0 | ? | ||||
createTextNode() |
5.0 | ? | |||||
createAttribute() |
6.0 | ? | |||||
documentElement |
5.0 | ? | |||||
getElementsByTagName() |
? | ||||||
implementation |
6.0 | ? | |||||
createDocumentFragment() |
No | ? | |||||
createComment() |
? | ||||||
createCDATASection() |
9.0[t 3] | ? | |||||
createProcessingInstruction() |
? | 1.7 | ? | ||||
createEntityReference() |
No | ? | No | ? | No | ||
DOM2 | importNode() |
9.0[t 3] | No | 1.0 | Yes | ? | 1.0 |
createElementNS() |
? | ||||||
createAttributeNS() |
? | ||||||
getElementsByTagNameNS() |
? | ||||||
getElementById() |
8.0 | Yes | ? | 2.1 | |||
DOM3 | adoptNode() |
9.0[t 3] | No | 1.7 | Yes | ? | 2.0 |
inputEncoding |
No | ? | No | ||||
xmlEncoding |
? | ||||||
xmlStandalone |
? | ||||||
xmlVersion |
? | ||||||
domConfig |
No | No | ? | ||||
strictErrorChecking |
1.7 | ? | |||||
documentURI |
? | ||||||
normalizeDocument() |
? | ||||||
renameNode() |
? | ||||||
Interface Node | |||||||
DOM1 | nodeName |
5.0 | Yes | 1.0 | Yes | ? | 1.0 |
nodeValue |
? | ||||||
nodeType |
? | ||||||
parentNode |
? | ||||||
childNodes |
? | ||||||
firstChild |
? | ||||||
lastChild |
? | ||||||
previousSibling |
? | ||||||
nextSibling |
? | ||||||
attributes |
? | ||||||
cloneNode() |
? | ||||||
insertBefore() |
Partial | ? | |||||
replaceChild() |
? | ||||||
removeChild() |
? | ||||||
appendChild() |
? | ||||||
ownerDocument |
6.0 | 1.9 | ? | ||||
hasChildNodes() |
1.0 | ? | |||||
DOM2 | namespaceURI |
5.0 | Yes | 1.0 | Yes | ? | 1.0 |
prefix |
? | ||||||
localName |
? | ||||||
isSupported() |
9.0[t 3] | ? | |||||
hasAttributes() |
? | ||||||
DOM3 | isSameNode() |
9.0 | No | 1.8 | Yes | ? | 2.1 |
compareDocumentPosition() |
9.0[t 3] | 1.7 | 4.2.4 | ||||
baseURI |
No | ? | Yes | ||||
textContent |
9.0[t 3] | ? | 2.0 | ||||
lookupPrefix() |
? | ||||||
isDefaultNamespace() |
? | ||||||
lookupNamespaceURI() |
? | ||||||
getFeature() |
No | ? | |||||
setUserData() |
? | No | |||||
getUserData() |
? | ||||||
isEqualNode() |
9.0[t 3] | 1.9 | ? | 2.7 | |||
Interface NodeList | |||||||
DOM1 | length |
5.0 | Yes | 1.0 | Yes | ? | 1.0 |
item() |
? | ||||||
Interface NamedNodeMap | |||||||
DOM1 | length |
5.0 | Yes | 1.0 | Yes | ? | 1.0 |
getNamedItem() |
? | ||||||
setNamedItem() |
? | ||||||
removeNamedItem() |
? | ||||||
item() |
? | ||||||
DOM2 | getNamedItemNS() |
9.0[t 3] | No | 1.0 | Yes | ? | 1.0 |
setNamedItemNS() |
? | ||||||
removeNamedItemNS() |
? | ||||||
Interface CharacterData | |||||||
DOM1 | data |
4.0 | Yes | 1.0 | Yes | ? | 1.0 |
length |
? | ||||||
substringData() |
? | ||||||
appendData() |
? | ||||||
insertData() |
? | ||||||
deleteData() |
? | ||||||
replaceData() |
? | ||||||
Interface Attr | |||||||
DOM1 | name |
6.0 | ? | 1.0 | Yes | Yes | 1.0 |
value |
? | ||||||
specified |
Incorrect | Incorrect | 1.9.1 | Yes | Yes | ||
DOM2 | ownerElement |
9.0[t 3] | ? | 1.0 | Yes | Yes | 1.0 |
DOM3 | schemaTypeInfo |
No | No | No | No | ? | No |
isId |
1.9 | No | |||||
Interface Element | |||||||
DOM1 | tagName |
4.0 | Yes | 1.0 | Yes | Yes | 1.0 |
getElementsByTagName() | |||||||
getAttribute() |
8.0 | ||||||
setAttribute() | |||||||
removeAttribute() | |||||||
getAttributeNode() |
6.0 | ||||||
setAttributeNode() |
9.0[t 3] | ||||||
removeAttributeNode() | |||||||
normalize() |
No | ? | |||||
DOM2 | getAttributeNS() |
9.0[t 3] | Yes | 1.0 | Yes | ? | 1.0 |
setAttributeNS() |
? | ||||||
removeAttributeNS() |
? | ||||||
getAttributeNodeNS() |
? | ||||||
setAttributeNodeNS() |
? | ||||||
getElementsByTagNameNS() |
No | ? | |||||
hasAttribute() |
Yes | ? | |||||
hasAttributeNS() |
? | ||||||
DOM3 | schemaTypeInfo |
No | No | No | No | ? | No |
setIdAttribute() |
? | ||||||
setIdAttributeNS() |
? | ||||||
setIdAttributeNode() |
? | ||||||
Interface Text | |||||||
DOM1 | splitText() |
9.0[t 3] | Yes | 1.0 | Yes | ? | 1.0 |
DOM3 | isElementContentWhitespace |
No | No | 1.9.1 | No | ? | Yes |
wholeText |
9.0[t 3] | ? | 2.1 | ||||
replaceWholeText() |
? | ||||||
Interface Comment | |||||||
DOM1 | (no properties) |
6.0 | No | 1.0 | Yes | ? | 1.0 |
Interface TypeInfo | |||||||
DOM3 | typeName |
No | No | No | No | No | No |
typeNamespace | |||||||
isDerivedFrom() | |||||||
Interface UserDataHandler | |||||||
DOM3 | handle() |
No | No | No | No | No | No |
Interface DOMError | |||||||
DOM3 | severity |
No | No | No | No | No | 2.0 |
message | |||||||
type | |||||||
location | |||||||
relatedData | |||||||
relatedException |
No | ||||||
Interface DOMErrorHandler | |||||||
DOM3 | handleError() |
No | No | No | No | No | 2.0 |
Interface DOMLocator | |||||||
DOM3 | lineNumber |
No | No | No | No | No | 2.0 |
columnNumber | |||||||
byteOffset | |||||||
utf16Offset | |||||||
relatedNode | |||||||
uri | |||||||
Interface DOMConfiguration | |||||||
DOM3 | parameterNames |
No | No | No | No | ? | 2.0 |
setParameter() |
? | ||||||
getParameter() |
? | ||||||
canSetParameter() |
? |
Trident Core (Fundamental) notes
doctype
— Prior to version 9.0, returns true when checked but always contains null.getElementById()
— Prior to version 8.0 returned elements withname
attribute set to value being found, not onlyid
.[t 4]getAttribute()
,setAttribute()
,removeAttribute()
— prior to version 8.0 returned, set, or removed, respectively, the corresponding DOM property instead of the string value of the attribute.AttributeNode.specified
— Does not setspecified
totrue
if ownerElement is null.Node.isSameNode
— Prior to version 9.0, only supported for XML documents.
Tasman Core (Fundamental) notes
AttributeNode.specified
— Does not setspecified
totrue
if ownerElement is null.
Gecko Core (Fundamental) notes
insertBefore(), replaceChild(), removeChild(), appendChild()
— Fails onAttr
nodes.[g 1]appendChild
does not work as expected forDocumentFragment
nodes prior to 1.8.AttributeNode.specified
— Prior to 1.9.1 does not setspecified
totrue
if ownerElement is null. Does not create Attribute Nodes for default values specified in the DTD.
Presto Core (Fundamental) notes
getElementById()
— Versions prior to Opera 9.50 returns elements withname
attribute set to value being found, not onlyid
.[p 1]URI attribute value
— In versions prior to Opera 9, all URI attribute values are resolved to full URI. Hence the value fromgetAttribute()
andgetAttributeNode()
could be wrong if relative URIs are used.- Attributes that are not supported in the layout engine are still parsed and available through DOM. E.g. char and charoff are available under .ch and .chOff.
- In Opera 8.54 methods DOMImplementation.createDocument and DOMDocument.createElementNS both fail to accept any non-empty namespace URI. They work in Opera 9 Beta 2 and they may also have worked before (somebody with Opera 8, please check.) The symptom is that the namespaceURI property is null/empty and serialization gives wrong result.
WebKit Core (Fundamental) notes
AttributeNode.specified
— Does not create Attribute Nodes for default values specified in the DTD.
KHTML Core (Fundamental) notes
AttributeNode.specified
— Does not create Attribute Nodes for default values specified in the DTD.
Core (Extended)
The interfaces defined here form part of the DOM Core specification, but objects that expose these interfaces will never be encountered in a DOM implementation that deals only with HTML.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface CDATASection | |||||||
DOM1 | (no properties) |
No | No | 1.0 | Yes | ? | 2.0 |
Interface DocumentType | |||||||
DOM1 | name |
No | No | 1.0 | Yes | ? | 1.0 |
entities |
No[g 2] | ? | |||||
notations |
? | ||||||
DOM2 | publicId |
No | No | 1.0 | Yes | ? | 1.0 |
systemId |
? | ||||||
internalSubset |
? | ||||||
Interface Notation | |||||||
DOM1 | publicId |
No | No | 1.0 | Yes | ? | 2.0 |
systemId |
? | ||||||
Interface Entity | |||||||
DOM1 | publicId |
No | No | 1.0 | Yes | ? | No |
systemId |
? | ||||||
notationName |
? | ||||||
DOM3 | inputEncoding |
No | No | No | No | ? | No |
xmlEncoding |
? | ||||||
xmlVersion |
? | ||||||
Interface EntityReference | |||||||
DOM1 | (no properties) |
No | No | 1.0 | Yes | ? | No |
Interface ProcessingInstruction | |||||||
DOM1 | target |
No | No | 1.0 | Yes | ? | 2.0 |
data |
? |
HTML
The interfaces found within this section are not mandatory. This section extends the DOM Core API to describe objects and methods specific to HTML documents, and XHTML documents. In general, the functionality needed to manipulate hierarchical document structures, elements, and attributes will be found in the core section; functionality that depends on the specific elements defined in HTML will be found in this section. Elements deprecated since HTML 4.01 are not listed. Some elements and attributes listed here are deprecated in XHTML 1.1. For example, presentation attributes, image maps, frames and targets.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface HTMLCollection | |||||||
DOM1 | length |
7.0 | ? | 1.0 | ? | ? | 1.0 |
item() |
? | ? | ? | ||||
namedItem() |
? | ? | ? | ||||
Interface HTMLOptionsCollection | |||||||
DOM2 | length |
? | ? | 1.0 | ? | ? | 2.0 |
item() |
? | ? | ? | ? | |||
namedItem() |
? | ? | ? | ? | |||
Interface HTMLDocument | |||||||
DOM1 | domain |
4.0 | Yes | 1.0 | Yes | ? | 1.0 |
URL |
? | ||||||
body |
? | ||||||
images |
? | ||||||
applets |
? | ||||||
title |
3.0 | ? | |||||
referrer |
? | ||||||
links |
? | ||||||
forms |
? | ||||||
anchors |
? | ||||||
cookie |
? | ||||||
open() |
? | ||||||
close() |
? | ||||||
write() |
? | ||||||
writeln() |
? | ||||||
getElementsByName() |
Yes | ? | ? | ||||
Interface HTMLElement | |||||||
DOM1 | id |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
title |
? | ? | |||||
lang |
? | ? | |||||
className |
? | ? | |||||
dir |
5.0 | ? | ? | ||||
Interface HTMLHtmlElement | |||||||
DOM1 | version |
6.0 | ? | 1.0 | ? | ? | 2.0 |
Interface HTMLHeadElement | |||||||
DOM1 | profile |
8.0 | ? | 1.0 | ? | ? | 1.0 |
Interface HTMLLinkElement | |||||||
DOM1 | disabled |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
charset |
? | ? | |||||
href |
8.0 | ? | ? | ||||
hreflang |
4.0 | ? | ? | ||||
media |
? | ? | |||||
rel |
? | ? | |||||
rev |
? | ? | |||||
target |
? | ? | |||||
type |
? | ? | |||||
Interface HTMLTitleElement | |||||||
DOM1 | text |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
Interface HTMLMetaElement | |||||||
DOM1 | content |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
httpEquiv |
? | ? | |||||
name |
? | ? | |||||
scheme |
6.0 | ? | ? | ? | 2.0 | ||
Interface HTMLBaseElement | |||||||
DOM1 | href |
8.0 | Yes | 1.0 | ? | ? | 2.0 |
target |
4.0 | ? | ? | ||||
Interface HTMLStyleElement | |||||||
DOM2 | disabled |
? | ? | 1.0 | ? | ? | 1.0 |
media |
4.0 | Yes | ? | ? | |||
type |
? | ? | |||||
Interface HTMLBodyElement | |||||||
DOM1 | aLink |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
background |
8.0 | ? | ? | ||||
bgColor |
4.0 | ? | ? | ||||
link |
? | ? | |||||
text |
? | ? | |||||
vLink |
? | ? | |||||
Interface HTMLFormElement | |||||||
DOM1 | action |
8.0 | Yes | 1.9 | ? | ? | 1.0 |
acceptEncoding |
? | ? | 1.0 | ? | ? | ||
elements |
3.0 | Yes | ? | ? | |||
length |
? | ? | |||||
name |
? | ? | |||||
enctype |
4.0 | ? | ? | ||||
method |
3.0 | ? | ? | ||||
target |
? | ? | |||||
submit() |
? | ? | |||||
reset() |
4.0 | ? | ? | ||||
Interface HTMLSelectElement | |||||||
DOM1 | selectedIndex |
3.0 | Yes | 1.0 | ? | ? | 1.0 |
length |
? | ? | |||||
options |
? | ? | |||||
name |
? | ? | |||||
size |
4.0 | ? | ? | ||||
type |
? | ? | |||||
value |
? | ? | |||||
disabled |
5.0 | ? | ? | ||||
multiple |
? | ? | |||||
form |
? | ? | ? | ? | |||
tabIndex |
? | ? | ? | ? | |||
add() |
? | ? | ? | ? | |||
remove() |
? | ? | ? | ? | |||
blur() |
3.0 | Yes | ? | ? | |||
focus() |
? | ? | |||||
Interface HTMLOptGroupElement | |||||||
DOM1 | disabled |
? | ? | 1.0 | ? | ? | 2.0 |
label |
No | Yes | ? | ? | |||
Interface HTMLOptionElement | |||||||
DOM1 | form |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
defaultSelected |
? | ? | |||||
text |
? | ? | |||||
index |
? | ? | ? | ? | |||
disabled |
? | ? | ? | ? | |||
label |
6.0 | Yes | ? | ? | 2.0 | ||
selected |
4.0 | ? | ? | 1.0 | |||
value |
? | ? | |||||
Interface HTMLInputElement | |||||||
DOM1 | defaultValue |
3.0 | Yes | 1.0 | ? | ? | 1.0 |
defaultChecked |
? | ? | |||||
form |
? | ? | |||||
accept |
? | ? | ? | ? | |||
accesskey |
? | ? | ? | ? | |||
align |
? | ? | ? | ? | |||
alt |
? | ? | ? | ? | |||
checked |
3.0 | Yes | ? | ? | |||
disabled |
5.0 | ? | ? | ||||
maxLength |
4.0 | ? | ? | 2.0 | |||
name |
3.0 | ? | ? | 1.0 | |||
readOnly |
4.0 | ? | ? | ||||
size |
? | ? | |||||
src |
1.9 | ? | ? | ||||
tabIndex |
? | ? | 1.0 | ? | ? | ||
type |
4.0 | Yes | ? | ? | |||
useMap |
? | ? | ? | ? | |||
value |
3.0 | Yes | ? | ? | |||
blur() |
? | ? | |||||
focus() |
? | ? | |||||
select() |
? | ? | |||||
click() |
? | ? | |||||
Interface HTMLTextAreaElement | |||||||
DOM1 | defaultValue |
3.0 | Yes | 1.0 | ? | ? | 1.0 |
form |
? | ? | |||||
accesskey |
? | ? | ? | ? | |||
cols |
4.0 | Yes | ? | ? | |||
disabled |
5.0 | ? | ? | ||||
name |
3.0 | ? | ? | ||||
readOnly |
4.0 | ? | ? | ||||
rows |
? | ? | |||||
tabIndex |
? | ? | ? | ? | |||
type |
4.0 | Yes | ? | ? | |||
value |
3.0 | ? | ? | ||||
blur() |
? | ? | |||||
focus() |
? | ? | |||||
select() |
? | ? | |||||
Interface HTMLButtonElement | |||||||
DOM1 | form |
3.0 | Yes | 1.0 | ? | ? | 1.0 |
accesskey |
? | ? | ? | ? | |||
disabled |
5.0 | Yes | ? | ? | |||
name |
3.0 | ? | ? | ||||
tabIndex |
? | ? | ? | ? | |||
type |
3.0 | Yes | ? | ? | |||
value |
? | ? | |||||
Interface HTMLLabelElement | |||||||
DOM1 | form |
6.0 | Yes | 1.0 | ? | ? | 1.0 |
accesskey |
5.0 | ? | ? | ||||
htmlFor |
4.0 | ? | ? | ||||
Interface HTMLFieldSetElement | |||||||
DOM1 | form |
5.0 | Yes | 1.0 | ? | ? | 1.0 |
Interface HTMLLegendElement | |||||||
DOM1 | form |
5.0 | Yes | 1.0 | ? | ? | 1.0 |
accesskey |
? | ? | ? | ? | |||
align |
5.0 | Yes | ? | ? | |||
Interface HTMLUListElement | |||||||
DOM1 | compact |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
type |
? | ? | |||||
Interface HTMLOListElement | |||||||
DOM1 | compact |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
start |
? | ? | |||||
type |
? | ? | |||||
Interface HTMLDListElement | |||||||
DOM1 | compact |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
Interface HTMLLIElement | |||||||
DOM1 | type |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
value |
? | ? | |||||
Interface HTMLDivElement | |||||||
DOM1 | align |
? | ? | 1.0 | ? | ? | 1.0 |
Interface HTMLParagraphElement | |||||||
DOM1 | align |
? | ? | 1.0 | ? | ? | 1.0 |
Interface HTMLHeadingElement | |||||||
DOM1 | align |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
Interface HTMLQuoteElement | |||||||
DOM1 | cite |
8.0 | Yes | 1.0 | ? | ? | 1.0 |
Interface HTMLPreElement | |||||||
DOM1 | width |
? | ? | 1.0 | ? | ? | 1.0 |
Interface HTMLBRElement | |||||||
DOM1 | clear |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
Interface HTMLHRElement | |||||||
DOM1 | align |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
noShade |
? | ? | |||||
size |
? | ? | |||||
width |
? | ? | |||||
Interface HTMLModElement | |||||||
DOM1 | cite |
8.0 | ? | 1.9 | ? | ? | 1.0 |
dateTime |
? | ? | 1.0 | ? | ? | ||
Interface HTMLAnchorElement | |||||||
DOM1 | accesskey |
? | ? | 1.0 | ? | ? | 1.0 |
charset |
6.0 | Yes | ? | ? | |||
coords |
? | ? | |||||
href |
3.0 | ? | ? | ||||
hreflang |
6.0 | ? | ? | ||||
name |
4.0 | ? | ? | ||||
rel |
? | ? | |||||
rev |
? | ? | |||||
shape |
6.0 | ? | ? | ||||
tabIndex |
? | ? | ? | ? | |||
target |
3.0 | Yes | ? | ? | |||
type |
6.0 | ? | ? | ||||
blur() |
? | ? | ? | ? | |||
focus() |
? | ? | ? | ? | |||
Interface HTMLImageElement | |||||||
DOM1 | name |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
align |
? | ? | |||||
alt |
? | ? | |||||
border |
? | ? | |||||
height |
? | ? | |||||
hspace |
? | ? | |||||
isMap |
? | ? | |||||
longDesc |
8.0 | ? | ? | ? | 2.0 | ||
src |
4.0 | Yes | ? | ? | 1.0 | ||
useMap |
? | ? | |||||
vspace |
? | ? | |||||
width |
? | ? | |||||
Interface HTMLObjectElement | |||||||
DOM1 | form |
? | ? | 1.0 | ? | ? | 1.0 |
code |
4.0 | Yes | ? | ? | |||
align |
? | ? | |||||
archive |
? | ? | ? | ? | |||
border |
? | ? | ? | ? | |||
codeBase |
8.0 | Yes | ? | ? | |||
codeType |
4.0 | ? | ? | ||||
data |
8.0 | ? | ? | ||||
declare |
? | ? | ? | ? | 2.0 | ||
height |
4.0 | Yes | ? | ? | 1.0 | ||
hspace |
? | ? | |||||
name |
? | ? | |||||
standby |
? | ? | ? | ? | |||
tabIndex |
? | ? | ? | ? | |||
type |
4.0 | Yes | ? | ? | |||
useMap |
? | ? | ? | ? | |||
vspace |
4.0 | Yes | ? | ? | |||
width |
? | ? | |||||
DOM2 | contentDocument |
No | ? | ? | 2.0 | ||
Interface HTMLParamElement | |||||||
DOM1 | name |
? | ? | 1.0 | ? | ? | 1.0 |
type |
? | ? | ? | ? | |||
value |
? | ? | ? | ? | |||
valueType |
No | ? | ? | ? | |||
Interface HTMLMapElement | |||||||
DOM1 | areas |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
name |
? | ? | |||||
Interface HTMLAreaElement | |||||||
DOM1 | accesskey |
? | ? | 1.0 | ? | ? | 1.0 |
alt |
4.0 | Yes | ? | ? | |||
coords |
? | ? | |||||
hrefs |
? | ? | ? | ? | |||
noHrefs |
? | ? | ? | ? | |||
shape |
4.0 | Yes | ? | ? | |||
tabIndex |
? | ? | ? | ? | |||
target |
4.0 | Yes | ? | ? | |||
Interface HTMLScriptElement | |||||||
DOM1 | text |
4.0 | 0 | 1.0 | ? | ? | 1.0 |
htmlFor (reserved for future use) |
Yes | ? | ? | No | |||
event (reserved for future use) |
? | ? | 2.0 | ||||
charset |
? | ? | ? | ? | 1.0 | ||
defer |
4.0 | Yes | ? | ? | |||
src |
8.0 | ? | ? | ||||
type |
4.0 | ? | ? | ||||
target |
? | ? | ? | ? | |||
Interface HTMLTableElement | |||||||
DOM1 | caption |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
tHead |
? | ? | |||||
tFoot |
? | ? | |||||
rows |
? | ? | |||||
tBodies |
? | ? | |||||
align |
? | ? | |||||
bgColor |
? | ? | |||||
border |
? | ? | |||||
cellPadding |
No | ? | |||||
cellSpacing |
? | ? | |||||
frame |
? | ? | |||||
rules |
No | ? | ? | ||||
summary |
6.0 | ? | ? | ||||
width |
4.0 | Yes | ? | ? | |||
createTHead() |
? | ? | |||||
deleteTHead() |
? | ? | |||||
createTFoot() |
? | ? | |||||
deleteTFoot() |
? | ? | |||||
createCaption() |
? | ? | |||||
deleteCaption() |
? | ? | |||||
insertRow() |
? | ? | |||||
deleteRow() |
? | ? | |||||
Interface HTMLTableCaptionElement | |||||||
DOM1 | align |
5.0 | Yes | 1.0 | ? | ? | 1.0 |
Interface HTMLTableColElement | |||||||
DOM1 | align |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
ch |
6.0 | No | ? | ? | 2.0 | ||
chOff |
? | ? | |||||
span |
5.0 | Yes | ? | ? | 1.0 | ||
vAlign |
4.0 | ? | ? | ||||
width |
5.0 | 0 | ? | ? | |||
Interface HTMLTableSectionElement | |||||||
DOM1 | align |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
ch |
6.0 | No | ? | ? | 2.0 | ||
chOff |
? | ? | |||||
vAlign |
4.0 | Yes | ? | ? | 1.0 | ||
rows |
? | ? | |||||
insertRow() |
? | ? | |||||
deleteRow() |
? | ? | |||||
Interface HTMLTableRowElement | |||||||
DOM1 | rowIndex |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
sectionRowIndex |
? | ? | |||||
cells |
? | ? | |||||
align |
? | ? | |||||
bgColor |
? | ? | |||||
ch |
6.0 | No | ? | ? | 2.0 | ||
chOff |
? | ? | |||||
vAlign |
4.0 | Yes | ? | ? | 1.0 | ||
insertCell() |
? | ? | |||||
deleteCell() |
? | ? | |||||
Interface HTMLTableCellElement | |||||||
DOM1 | cellIndex |
4.0 | Yes | 1.0 | Incorrect | ? | 1.0 |
abbr |
6.0 | ? | ? | 2.0 | |||
align |
4.0 | ? | ? | 1.0 | |||
axis |
6.0 | ? | ? | ||||
bgColor |
4.0 | ? | ? | ||||
ch |
6.0 | No | ? | ? | 2.0 | ||
chOff |
? | ? | |||||
colSpan |
4.0 | Yes | ? | ? | 1.0 | ||
headers |
6.0 | ? | ? | ||||
height |
4.0 | ? | ? | ||||
noWrap |
? | ? | |||||
rowSpan |
? | ? | |||||
scope |
? | ? | ? | ? | |||
vAlign |
4.0 | Yes | ? | ? | |||
width |
? | ? | |||||
Interface HTMLFrameSetElement | |||||||
DOM1 | cols |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
rows |
? | ? | |||||
Interface HTMLFrameElement | |||||||
DOM1 | frameBorder |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
longDesc |
8.0 | ? | ? | ||||
marginHeight |
6.0 | ? | ? | ||||
marginWidth |
? | ? | |||||
name |
4.0 | ? | ? | ||||
noResize |
? | ? | |||||
scrolling |
? | ? | |||||
src |
8.0 | ? | ? | ||||
DOM2 | contentDocument |
No | Yes | 1.0 | ? | ? | 1.0 |
Interface HTMLIFrameSetElement | |||||||
DOM1 | align |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
frameBorder |
? | ? | ? | ? | |||
height |
4.0 | Yes | ? | ? | |||
longDesc |
8.0 | ? | ? | ||||
marginHeight |
4.0 | ? | ? | ||||
marginWidth |
? | ? | |||||
name |
? | ? | |||||
scrolling |
? | ? | |||||
src |
8.0 | ? | ? | ||||
width |
4.0 | ? | ? | ||||
DOM2 | contentDocument |
No | ? | ? |
Trident HTML notes
profile
,href
,background
,action
,cite
,longDesc
,codebase
,data
,src
— Prior to version 8.0 relative URLs were not resolved to full URLs.[t 5]
WebKit HTML notes
cellIndex
— Always return zero.
Presto HTML notes
text
— Opera 8 and lower returned data atsrc
, when it should return inline data instead.
Style (Style Sheets)
The interfaces found within this section are not mandatory. The interfaces in this section are base interfaces used to represent any type of style sheet.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface StyleSheet | |||||||
DOM2 | type |
6.0 | ? | 1.0 | Yes | ? | 2.0 |
disabled |
? | ? | |||||
ownerNode |
No | ? | ? | ||||
parentStyleSheet |
6.0 | ? | ? | ||||
href |
8.0 | ? | ? | ||||
title |
6.0 | ? | ? | ||||
media |
Incorrect | ? | ? | ||||
Interface StyleSheetList | |||||||
DOM2 | length |
6.0 | ? | 1.0 | Yes | ? | 2.0 |
item() |
? | ? | |||||
Interface MediaList | |||||||
DOM2 | mediaText |
No | ? | 1.0 | Yes | ? | 2.0 |
length |
? | ? | |||||
item() |
? | ? | |||||
deleteMedium() |
? | ? | |||||
appendMedium() |
? | ? | |||||
Interface LinkStyle | |||||||
DOM2 | sheet |
No | ? | 1.0 | No | ? | 2.0 |
Interface DocumentStyle | |||||||
DOM2 | styleSheets |
No | ? | 1.0 | No | ? | 2.0 |
Trident Style (Style Sheets) notes
href
— Prior to version 8.0 relative URLs were not resolved to full URLs.[t 5]media
— Returns string instead ofMediaList
.
Style (CSS Fundamental)
The interfaces within this section are considered fundamental CSS interfaces, and must be supported by all conforming implementations of the CSS module. These interfaces represent CSS style sheets specifically.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface CSSStyleSheet | |||||||
DOM2 | ownerRule |
No | ? | 1.0 | ? | ? | 2.0 |
cssRules |
Yes | 1.3 | ? | ||||
insertRule() |
No | No | ? | ||||
deleteRule() |
? | ||||||
Interface StyleSheetList | |||||||
DOM2 | length |
6.0 | ? | 1.0 | ? | ? | 2.0 |
item() |
? | ? | ? | ||||
Interface CSSRuleList | |||||||
DOM2 | length |
No | ? | 1.0 | ? | ? | 2.0 |
item() |
? | ? | ? | ||||
Interface CSSRule | |||||||
DOM2 | type |
No | ? | 1.0 | ? | ? | 2.0 |
cssText |
Yes | ? | ? | ||||
parentStyleSheet |
1.3 | ? | |||||
parentRule |
? | ? | ? | ||||
Interface CSSStyleRule | |||||||
DOM2 | selectorText |
6.0 | Yes | 1.0 | 1.3 | ? | 2.0 |
style |
No | ? | ? | ? | |||
Interface CSSMediaRule | |||||||
DOM2 | media |
No | ? | 1.0 | ? | ? | 2.0 |
cssRules |
? | ? | ? | ||||
insertRule() |
? | ? | ? | ||||
deleteRule() |
? | ? | ? | ||||
Interface CSSFontFaceRule | |||||||
DOM2 | style |
No | ? | 1.9.1[g 3] | ? | ? | 2.0 |
Interface CSSPageRule | |||||||
DOM2 | selectorText |
No | ? | No[g 4] | ? | ? | 2.0 |
style |
? | ? | ? | ||||
Interface CSSImportRule | |||||||
DOM2 | href |
No | Yes | 1.0 | 1.3 | ? | 2.0 |
media |
? | ? | ? | ||||
styleSheet |
? | ? | ? | ||||
Interface CSSCharsetRule | |||||||
DOM2 | encoding |
No | ? | 1.0 | ? | ? | 2.0 |
Interface CSSUnknownRule | |||||||
DOM2 | (no properties) |
No | ? | No[g 5] | ? | ? | 2.0 |
Interface CSSStyleDeclaration | |||||||
DOM2 | cssText |
No | ? | 1.0 | ? | ? | 2.0 |
length |
? | ? | ? | ||||
parentRule |
? | ? | ? | ||||
getPropertyValue() |
Yes | 1.3 | ? | 1.0 | |||
getPropertyCSSValue() |
? | No[g 6] | ? | ? | 2.0 | ||
removeProperty() |
No | 1.0 | 1.3 | ? | 1.0 | ||
getPropertyPriority() |
Incorrect | ? | ? | 2.0 | |||
setProperty() |
Yes | 1.3 | ? | 1.0 | |||
item() |
? | ? | ? | 2.0 | |||
Interface CSSValue | |||||||
DOM2 | cssText |
No | ? | No[g 6] | ? | ? | No |
cssValueType |
? | ? | ? | ||||
Interface CSSPrimitiveValue | |||||||
DOM2 | primitiveType |
No | ? | No[g 7] | ? | ? | No |
setFloatValue() |
? | No | ? | ? | |||
getFloatValue() |
? | ? | ? | ||||
setStringValue() |
? | ? | ? | ||||
getStringValue() |
? | ? | ? | ||||
getCounterValue() |
? | ? | ? | ||||
getRectValue() |
? | ? | ? | ||||
getRGBColorValue() |
? | ? | ? | ||||
Interface CSSValueList | |||||||
DOM2 | length |
No | ? | No | ? | ? | No |
item() |
? | ? | ? | ||||
Interface RGBColor | |||||||
DOM2 | red |
No | ? | No | ? | ? | No |
green |
? | ? | ? | ||||
blue |
? | ? | ? | ||||
Interface Rect | |||||||
DOM2 | top |
No | ? | No | ? | ? | No |
right |
? | ? | ? | ||||
bottom |
? | ? | ? | ||||
left |
? | ? | ? | ||||
Interface Counter | |||||||
DOM2 | identifier |
No | ? | No | ? | ? | No |
listStyle |
? | ? | ? | ||||
separator |
? | ? | ? | ||||
Interface ViewCSS | |||||||
DOM2 | getComputedStyle() |
No | No | 1.0 | No | ? | 1.0 |
Interface DocumentCSS | |||||||
DOM2 | getOverrideStyle() |
No | ? | No[g 8] | ? | ? | No |
Interface DOMImplementationCSS | |||||||
DOM2 | createCSSStyleSheet() |
No | ? | No[g 9] | ? | ? | No |
Interface ElementCSSInlineStyle | |||||||
DOM2 | style |
6.0 | Yes | 1.0 | 1.3 | Yes | 1.0 |
Tasman Style (CSS Fundamental) notes
getPropertyPriority()
— Returns!important
instead ofimportant
.
Style (CSS Extended)
The interfaces found within this section are not mandatory.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface CSS2Properties | |||||||
DOM2 | Support this interface | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
Properties | Please refer to Comparison of layout engines (Cascading Style Sheets) for the comparison of CSS properties. |
Events
The interfaces found within this section are not mandatory. The first goal is the design of a generic event system which allows registration of event handlers, describes event flow through a tree structure, and provides basic contextual information for each event. The second goal of the event model is to provide a common subset of the current event systems used in DOM Level 0 browsers. See also DOM Events for details.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface EventTarget | |||||||
DOM2 | addEventListener() |
5.0[t 6] | No | 1.0 | Yes | Yes | 1.0 |
removeEventListener() | |||||||
dispatchEvent() |
? | ? | |||||
Interface EventListener | |||||||
DOM2 | handleEvent() |
? | ? | ? | ? | ? | 1.0 |
Interface Event | |||||||
DOM2 | type |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
target |
No | 1.3 | Incorrect | ? | |||
currentTarget |
No | 1.0 | ? | ? | |||
eventPhase |
? | ? | |||||
bubbles |
? | ? | |||||
cancelable |
? | ? | |||||
timeStamp |
Yes | ? | ? | ||||
stopPropagation() |
1.0 | ? | ? | ||||
preventDefault() |
? | ? | |||||
initEvent() |
? | ? | |||||
Exception EventException | |||||||
DOM2 | code |
No | No | 1.0 | ? | ? | 1.0 |
Interface DocumentEvent | |||||||
DOM2 | createEvent() |
No | No | 1.0 | ? | ? | 1.0 |
Interface UIEvent | |||||||
DOM2 | view |
No | No | No[g 10] | ? | ? | 1.0 |
detail |
? | ? | |||||
initUIEvent() |
? | ? | |||||
Events for interface UIEvent | |||||||
DOM2 | DOMFocusIn |
No | No | No[g 10] | ? | ? | 1.0 |
DOMFocusOut |
? | ? | |||||
DOMActivate |
? | ? | |||||
Interface MouseEvent | |||||||
DOM2 | screenX |
4.0 | Yes | 1.0 | Yes | ? | 1.0 |
screenY |
? | ||||||
clientX |
Incorrect | ? | |||||
clientY |
Incorrect | ? | |||||
ctrlKey |
Yes | ? | |||||
shiftKey |
? | ||||||
altKey |
? | ||||||
metaKey |
No | No | ? | ||||
button |
Incorrect | Incorrect | Incorrect | ? | 1.0 | ||
relatedTarget |
No | No | Yes | ? | 1.0 | ||
initMouseEvent() |
? | ? | ? | ? | |||
Events for interface MouseEvent | |||||||
DOM2 | click |
4.0 | Yes | 1.0 | ? | ? | 1.0 |
mousedown |
? | ? | |||||
mouseup |
? | ? | |||||
mouseover |
? | ? | |||||
mousemove |
? | ? | |||||
mouseout |
? | ? | |||||
Interface MutationEvent | |||||||
DOM2 | relatedNode |
No | No | 1.0 | ? | ? | 1.0 |
prevValue |
? | ? | |||||
newValue |
? | ? | |||||
attrName |
? | ? | |||||
attrChange |
? | ? | |||||
initMutationEvent |
? | ? | |||||
Events for interface MutationEvent | |||||||
DOM2 | DOMSubtreeModified |
5.0[t 7] | No | 1.9 | Yes | Partial | No |
DOMNodeInserted |
1.0 | No | 1.0 | ||||
DOMNodeRemoved | |||||||
DOMNodeRemovedFromDocument |
No[g 11] | ||||||
DOMNodeInsertedIntoDocument |
Yes | ||||||
DOMAttrModified |
1.0 | No | No | ||||
DOMCharacterDataModified |
Yes | ||||||
Events for HTML | |||||||
DOM2 | load |
4.0 | Yes | 1.0 | ? | ? | 2.0 |
unload |
? | ? | |||||
abort |
? | ? | No | ||||
error |
? | ? | 2.0 | ||||
select |
? | ? | |||||
change |
? | ? | |||||
submit |
? | ? | |||||
reset |
? | ? | |||||
focus |
? | ? | |||||
blur |
? | ? | |||||
resize |
? | ? | |||||
scroll |
? | ? |
Trident Events notes
button
— Does not use W3C values.
Tasman Events notes
button
— Does not use W3C values.
Gecko Events notes
target
— Return text node, if any, of the target element node prior to 1.3.timeStamp
— Is relative to the system start instead of to 1 January 1970.[g 12]
WebKit Events notes
target
— Return text node, if any, of the target element node (fixed in v73, but reverted in v85).clientX
,clientY
— Treated aspageX
andpageY
.button
— Does not use W3C values.
KHTML Events notes
DOMSubtreeModified
— Not triggered when an element is removed from the subtree.
Presto Events notes
button
— Does not use W3C values prior to 8.0.
Views
The interfaces found within this section are not mandatory. A document may have one or more "views" associated with it, e.g., a computed view on a document after applying a CSS stylesheet, or multiple presentations (e.g. HTML frame) of the same document in a client. That is, a view is some alternate representation of, or a presentation of, and associated with, a source document.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface AbstractView | |||||||
DOM2 | document |
6.0 | ? | 1.0 | ? | ? | 1.0 |
Interface DocumentView | |||||||
DOM2 | defaultView |
No | ? | 1.0 | ? | ? | 1.0 |
Trident notes
defaultView
— Trident does not support the defaultView property for documents, but it supports another property with the same meaning which is parentWindow.
Traversal
The interfaces found within this section are not mandatory. Its interfaces provide easy-to-use, robust, selective traversal of a document's contents.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface NodeIterator | |||||||
DOM2 | root |
No | ? | 1.9.1 | ? | ? | 1.0 |
whatToShow |
? | ? | ? | ||||
filter |
? | ? | ? | ||||
expandEntityReferences |
? | ? | ? | ||||
nextNode() |
Yes | ? | ? | ? | 2.0 | ||
previousNode() |
? | ? | ? | ||||
detach() |
No | ? | ? | ? | 1.0 | ||
Interface NodeFilter | |||||||
DOM2 | acceptNode() |
No | ? | 1.0 | ? | ? | 1.0 |
Interface TreeWalker | |||||||
DOM2 | root |
No | ? | 1.0 | ? | ? | 1.0 |
whatToShow |
? | ? | ? | ||||
filter |
? | ? | ? | ||||
expandEntityReferences |
? | ? | ? | ||||
currentNode |
? | ? | ? | ||||
parentNode() |
? | ? | ? | ||||
firstChild() |
? | ? | ? | ||||
lastChild() |
? | ? | ? | ||||
previousSibling() |
? | ? | ? | ||||
nextSibling() |
? | ? | ? | ||||
previousNode() |
? | ? | ? | ||||
nextNode() |
? | ? | ? | ||||
Interface DocumentTraversal | |||||||
DOM2 | createNodeIterator() |
No | ? | 1.9.1 | ? | ? | 1.0 |
createTreeWalker() |
? | 1.0 | ? | ? |
Range
The interfaces found within this section are not mandatory. It includes methods for creating and moving a Range and methods for manipulating content with Ranges.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface Range | |||||||
DOM2 | startContainer |
No | ? | 1.0 | Yes | ? | 1.0 |
startOffset |
? | ? | |||||
endContainer |
? | ? | |||||
endOffset |
? | ? | |||||
collapsed |
? | ? | |||||
commonAncestorContainer |
? | ? | |||||
setStart() |
? | ? | |||||
setEnd() |
? | ? | |||||
setStartBefore() |
? | ? | |||||
setStartAfter() |
? | ? | |||||
setEndBefore() |
? | ? | |||||
setEndAfter() |
? | ? | |||||
collapse() |
? | ? | |||||
selectNode() |
? | ? | |||||
selectNodeContents() |
? | ? | |||||
compareBoundaryPoints() |
? | ? | |||||
deleteContents() |
? | ? | |||||
extractContents() |
? | ? | |||||
cloneContents() |
? | ? | |||||
insertNode() |
? | ? | |||||
surroundContents() |
? | ? | |||||
cloneRange() |
? | ? | |||||
toString() |
? | ? | |||||
detach() |
? | ? | |||||
Interface DocumentRange | |||||||
DOM2 | createRange() |
No | ? | 1.0 | No | ? | 1.0 |
Exception RangeException | |||||||
DOM2 | code |
No | ? | 1.0 | Yes | ? | 1.0 |
Load and Save
The interfaces within this section are considered fundamental, and must be fully implemented by all conforming implementations of the DOM Load and Save module.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Exception LSException | |||||||
DOM3 | code |
No | No | No[g 13] | No | No | 1.0 |
Interface DOMImplementationLS | |||||||
DOM3 | createLSParser() |
No | No | No | No | No | 1.0 |
createLSSerializer() | |||||||
createLSInput() | |||||||
createLSOutput() | |||||||
Interface LSParser | |||||||
DOM3 | domConfig |
No | No | No | No | No | 1.0 |
filter | |||||||
async | |||||||
busy | |||||||
parse() | |||||||
parseURI() | |||||||
parseWithContext() | |||||||
abort() | |||||||
Interface LSInput | |||||||
DOM3 | characterStream |
No | No | No | No | No | 1.0 |
byteStream | |||||||
stringData | |||||||
systemId | |||||||
publicId | |||||||
baseURI | |||||||
encoding | |||||||
certifiedText | |||||||
Interface LSResourceResolver | |||||||
DOM3 | resolveResource() |
No | No | No | No | No | No |
Interface LSParserFilter | |||||||
DOM3 | whatToShow |
No | No | No | No | No | No |
startElement() |
2.0 | ||||||
acceptNode() | |||||||
Interface LSProgressEvent | |||||||
DOM3 | input |
No | No | No | No | No | No |
position | |||||||
totalSize | |||||||
Interface LSLoadEvent | |||||||
DOM3 | newDocument |
No | No | No | No | No | 2.0 |
input |
No | ||||||
Interface LSSerializer | |||||||
DOM3 | domConfig |
No | No | No | No | No | 1.0 |
newLine | |||||||
filter | |||||||
write() | |||||||
writeToURI() | |||||||
writeToString() | |||||||
Interface LSOutput | |||||||
DOM3 | characterStream |
No | No | No | No | No | 1.0 |
byteStream | |||||||
systemId | |||||||
encoding | |||||||
Interface LSSerializerFilter | |||||||
DOM3 | whatToShow |
No | No | No | No | No | No |
Validation
The interfaces found within this section are not mandatory. This module provides interfaces to guide construction and editing of XML documents. Examples of such guided editing are queries like those that combine questions like "what does the schema allow me to insert/delete here" and "if I insert/delete here, will the document still be valid."
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Exception ExceptionVAL | |||||||
DOM3 | code |
No | No | No | No | No | No |
Interface DocumentEditVAL | |||||||
DOM3 | continuousValidityChecking |
No | No | No | No | No | No |
domConfig | |||||||
getDefinedElements() | |||||||
validateDocument() | |||||||
Interface NodeEditVAL | |||||||
DOM3 | defaultValue |
No | No | No | No | No | No |
enumeratedValues | |||||||
canInsertBefore() | |||||||
canRemoveChild() | |||||||
canReplaceChild() | |||||||
canAppendChild() | |||||||
nodeValidity() | |||||||
Interface ElementEditVAL | |||||||
DOM3 | allowedChildren |
No | No | No | No | No | No |
allowedFirstChildren | |||||||
allowedParents | |||||||
allowedNextSiblings | |||||||
allowedPreviousSiblings | |||||||
allowedAttributes | |||||||
requiredAttributes | |||||||
contentType | |||||||
canSetTextContent | |||||||
canSetAttribute | |||||||
canSetAttributeNode | |||||||
canSetAttributeNS | |||||||
canRemoveAttribute | |||||||
canRemoveAttributeNS | |||||||
canRemoveAttributeNode | |||||||
isElementDefined | |||||||
isElementDefinedNS | |||||||
Interface CharacterDataEditVAL | |||||||
DOM3 | isWhitespaceOnly() |
No | No | No | No | No | No |
canSetData() | |||||||
canAppendData() | |||||||
canReplaceData() | |||||||
canInsertData() | |||||||
canDeleteData() |
References
Trident references
- DOMException object (Internet Explorer), Microsoft
- DOMStringList object (Internet Explorer), Microsoft
- Internet Explorer Platform Preview Guide for Developers, Microsoft
- "getElementById Method", HTML and DHTML Reference, Microsoft, retrieved 2009-03-05
- Leithead, Travis, HTML and DOM Standards Compliance in IE8 Beta 1, Microsoft
- "Archived copy". Archived from the original on 2010-07-22. Retrieved 2010-07-14.CS1 maint: archived copy as title (link)
- Internet Explorer 9 Guide for Developers - DOM L2 and L3 Events, Microsoft
Gecko references
- Bug 56758 - Attr appendChild, insertBefore, removeChild, replaceChild fail, Mozilla
- Bug 15118 - expat doesn't send notifications for doctype.notations and doctype.entities, Mozilla
- Bug 70132 - Support @font-face, Mozilla
- Bug 35615 - Implement CSSPageRule, Mozilla
- Bug 35618 - (DOM2 CSS) CSSUnknownRule, Mozilla
- Bug 62682 - CSSStyleDeclaration.getPropertyCSSValue() not implemented, always returns nsnull, Mozilla
- Bug 132475 - nsROCSSPrimitiveValue::SetFoo() methods should return an nsresult, Mozilla
- Bug 45424 - implement getOverrideStyle(), Mozilla
- Bug 63850 - document.implementation.createCSSStyleSheet() Not Implemented, Mozilla
- Bug 60212 - RFE: DOM 2 UIEvent interface, Mozilla
- Bug 74219 - Implement NodeInsertedIntoDocument, NodeRemovedFromDocument, Mozilla
- Bug 77992 - Event.timeStamp should be relative to 1st January 1970 rather than the system start, Mozilla
- Bug 155749 - Implement DOM3 Load/Save, Mozilla
Webkit references
Presto references
Other references
- "W3C", Document Object Model (DOM) Conformance Test Suites, retrieved May 1, 2005
- "David Baron's Homepage", DOM Test Pages, retrieved May 1, 2005
- "Jeremie's Personal Site", DOM Level 1 Tests, archived from the original on May 7, 2005, retrieved May 1, 2005
- "Mozilla Developer Documentation", DOM Support in Mozilla, retrieved May 1, 2005
- "Mozilla Developer Documentation", What does each DOM Level bring?, retrieved May 1, 2005
- "XULPlanet.com", Mozilla Object Reference, retrieved May 1, 2005
- "Fabian Guisset", Mozilla DOM Status Update, archived from the original on November 1, 2005, retrieved May 1, 2005
- "Opera Documentation", Web Specifications Supported in Opera, archived from the original on June 4, 2012, retrieved May 1, 2005
- "JavaScript Bible, 5th Edition", Appendix A: JS/DOM Object Quick Reference, archived from the original on April 22, 2005, retrieved May 5, 2005
External links
- QuirksMode - DOM
- Web browser DOM support
- Google Doctype (archived in 2010)