Le Document Object Model ou DOM (pour modèle objet de document) est une interface de programmation pour les documents HTML, XML et SVG. Il fournit une représentation structurée du document sous forme d'un arbre et définit la façon dont la structure peut être manipulée par les programmes, en termes de style et de contenu. Le DOM représente le document comme un ensemble de nœuds et d'objets possédant des propriétés et des méthodes. Les nœuds peuvent également avoir des gestionnaires d'évènements se déclenchant lorsqu'un évènement se produit. Cela permet de manipuler des pages web grâce à des scripts et/ou des langages de programmation.
Bien qu'il soit utilisé la plupart du temps avec JavaScript, le DOM peut être manipulé via d'autres langages, cela est cependant moins répandu.
Cette page est la table des matières de la référence du DOM disponible avec Gecko.
Préface
- À propos de cette référence
- À qui est destiné ce guide
- Présentation de Gecko
- Syntaxe de l'API
- Utilisation des exemples
Introduction
- Présentation du DOM
- DOM et JavaScript
- Méthodes d'accès au DOM
- Types de données importants
- Les interfaces DOM
- Test de l'API DOM
Référence de DOM element
Référence de DOM window
Référence de DOM document
Référence de DOM event
Référence de DOM style
Référence de DOM range
Référence de DOM selection
Interface de l'élément HTML Form
Interface de l'élément HTML Table
Exemples d'utilisation du DOM
- Exemple 1 :
height
etwidth
- Exemple 2 : attributs d'image
- Exemple 3 : manipulation de styles
- Exemple 4 : utilisation de feuilles de style
- Exemple 5 : propagation d'évènements
- Exemple 6 :
getComputedStyle()
- Exemple 7 : affichage des propriétés d'un objet
event
- Exemple 8 : utilisation de l'interface DOM Table
Interfaces DOM
Attr
CharacterData
ChildNode
Comment
CustomEvent
Document
DocumentFragment
DocumentType
DOMError
DOMException
DOMImplementation
DOMString
DOMTimeStamp
DOMSettableTokenList
DOMStringList
DOMTokenList
Element
Event
EventTarget
HTMLCollection
MutationObserver
MutationRecord
Node
NodeFilter
NodeIterator
NodeList
ParentNode
ProcessingInstruction
Promise
PromiseResolver
Range
Text
TreeWalker
URL
Window
Worker
XMLDocument
Interfaces DOM obsolètes
Le Document Object Model est en cours de simplification. Afin d'y parvenir, les interfaces qui suivent, présentées dans le DOM niveau 3 ou avant, ont été retirées. Il n'est pas certain que toutes soient définitivement supprimées et pour le moment elles sont considérées comme obsolètes et devraient être évitées :
Interfaces HTML
Un document contenant du HTML est décrit par l'interface HTMLDocument
. La spécification HTML étend également l'interface Document
.
Un objet HTMLDocument
fournit également un accès aux fonctionnalités du navigateur : les onglets et la fenêtre utilisés pour dessiner (interface Window
), le Style
qui lui est associé (généralement CSS), l'historique de navigation dans un contexte avec History
, et éventuellement une Selection
dans le document.
Interfaces des éléments HTML
HTMLAnchorElement
HTMLAppletElement
HTMLAreaElement
HTMLAudioElement
HTMLBaseElement
HTMLBodyElement
HTMLBRElement
HTMLButtonElement
HTMLCanvasElement
HTMLDataElement
HTMLDataListElement
HTMLDirectoryElement
HTMLDivElement
HTMLDListElement
HTMLElement
HTMLEmbedElement
HTMLFieldSetElement
HTMLFontElement
HTMLFormElement
HTMLFrameElement
HTMLFrameSetElement
HTMLHeadElement
HTMLHeadingElement
HTMLHtmlElement
HTMLHRElement
HTMLIFrameElement
HTMLImageElement
HTMLInputElement
HTMLKeygenElement
HTMLLabelElement
HTMLLegendElement
HTMLLIElement
HTMLLinkElement
HTMLMapElement
HTMLMediaElement
HTMLMenuElement
HTMLMetaElement
HTMLMeterElement
HTMLModElement
HTMLObjectElement
HTMLOListElement
HTMLOptGroupElement
HTMLOptionElement
HTMLOutputElement
HTMLParagraphElement
HTMLParamElement
HTMLPreElement
HTMLProgressElement
HTMLQuoteElement
HTMLScriptElement
HTMLSelectElement
HTMLSourceElement
HTMLSpanElement
HTMLStyleElement
HTMLTableElement
HTMLTableCaptionElement
HTMLTableCellElement
HTMLTableDataCellElement
HTMLTableHeaderCellElement
HTMLTableColElement
HTMLTableRowElement
HTMLTableSectionElement
HTMLTextAreaElement
HTMLTimeElement
HTMLTitleElement
HTMLTrackElement
HTMLUListElement
HTMLUnknownElement
HTMLVideoElement
Autres interfaces
Interfaces HTML obsolètes
Interfaces SVG
Interfaces des éléments SVG
SVGAElement
SVGAltGlyphElement
SVGAltGlyphDefElement
SVGAltGlyphItemElement
SVGAnimationElement
SVGAnimateElement
SVGAnimateColorElement
SVGAnimateMotionElement
SVGAnimateTransformElement
SVGCircleElement
SVGClipPathElement
SVGColorProfileElement
SVGComponentTransferFunctionElement
SVGCursorElement
SVGDefsElement
SVGDescElement
SVGElement
SVGEllipseElement
SVGFEBlendElement
SVGFEColorMatrixElement
SVGFEComponentTransferElement
SVGFECompositeElement
SVGFEConvolveMatrixElement
SVGFEDiffuseLightingElement
SVGFEDisplacementMapElement
SVGFEDistantLightElement
SVGFEFloodElement
SVGFEGaussianBlurElement
SVGFEImageElement
SVGFEMergeElement
SVGFEMergeNodeElement
SVGFEMorphologyElement
SVGFEOffsetElement
SVGFEPointLightElement
SVGFESpecularLightingElement
SVGFESpotLightElement
SVGFETileElement
SVGFETurbulenceElement
SVGFEFuncRElement
SVGFEFuncGElement
SVGFEFuncBElement
SVGFEFuncAElement
SVGFilterElement
SVGFilterPrimitiveStandardAttributes
SVGFontElement
SVGFontFaceElement
SVGFontFaceFormatElement
SVGFontFaceNameElement
SVGFontFaceSrcElement
SVGFontFaceUriElement
SVGForeignObjectElement
SVGGElement
SVGGlyphElement
SVGGlyphRefElement
SVGGradientElement
SVGHKernElement
SVGImageElement
SVGLinearGradientElement
SVGLineElement
SVGMarkerElement
SVGMaskElement
SVGMetadataElement
SVGMissingGlyphElement
SVGMPathElement
SVGPathElement
SVGPatternElement
SVGPolylineElement
SVGPolygonElement
SVGRadialGradientElement
SVGRectElement
SVGScriptElement
SVGSetElement
SVGStopElement
SVGStyleElement
SVGSVGElement
SVGSwitchElement
SVGSymbolElement
SVGTextElement
SVGTextPathElement
SVGTitleElement
SVGTRefElement
SVGTSpanElement
SVGUseElement
SVGViewElement
SVGVKernElement
Interfaces des types de données SVG
Voici l'API DOM fournie pour les types de données utilisés dans les définitions des attributs et des propriétés SVG.
Note : À partir de Gecko 5.0, les interfaces suivantes : SVGLengthList
, SVGNumberList
, SVGPathSegList
, et SVGPointList
, représentant des listes d'objets sont indexées peuvent être manipulées comme des tableaux. De plus, elles possèdent une propriété indiquant le nombre d'éléments contenus dans la liste.
Statiques
Animées
Interfaces des segments SVG Path
SVGPathSegList
SVGPathSeg
SVGPathSegArcAbs
SVGPathSegArcRel
SVGPathSegClosePath
SVGPathSegCurvetoCubicAbs
SVGPathSegCurvetoCubicRel
SVGPathSegCurvetoCubicSmoothAbs
SVGPathSegCurvetoCubicSmoothRel
SVGPathSegCurvetoQuadraticAbs
SVGPathSegCurvetoQuadraticRel
SVGPathSegCurvetoQuadraticSmoothAbs
SVGPathSegCurvetoQuadraticSmoothRel
SVGPathSegLinetoAbs
SVGPathSegLinetoHorizontalAbs
SVGPathSegLinetoHorizontalRel
SVGPathSegLinetoRel
SVGPathSegLinetoVerticalAbs
SVGPathSegLinetoVerticalRel
SVGPathSegMovetoAbs
SVGPathSegMovetoRel