ドキュメントオブジェクトモデル (DOM)
ドキュメントオブジェクトモデル (Document Object Model, DOM) は、ウェブページを表す HTML のような文書の構造をメモリー内に表現することで、ウェブページとスクリプトやプログラミング言語を接続するものです。ふつうは JavaScript を使用しますが、HTML、SVG、XML などの文書をオブジェクトとしてモデリングすることはコア JavaScript 言語の一部ではありません。
DOM は文書を論理的なツリーで表現します。ツリーのそれぞれの枝はノードで終わっており、それぞれのノードがオブジェクトを含んでいます。 DOM のメソッドでプログラム的にツリーにアクセスできます。これにより、文書構造やスタイルやコンテンツを変更することができます。
ノードにはイベントハンドラーを割り当てることができます。イベントが発生すると、イベントハンドラーが実行されます。
DOM とは何であるか、どのように文書を表現するのかについてもっと学習するのであれば、DOM 入門をご覧ください。
DOM インターフェイス
AbortControllerAbortSignalAbstractRange(en-US)AttrCDATASectionCharacterDataCommentCustomEventDocumentDocumentFragmentDocumentTypeDOMError非推奨DOMExceptionDOMImplementationDOMParserDOMPointDOMPointReadOnlyDOMRectDOMTokenListElementEventEventTargetHTMLCollectionMutationObserverMutationRecordNamedNodeMapNodeNodeFilter(en-US)NodeIteratorNodeListProcessingInstructionRangeStaticRange(en-US)TextTextDecoderTextEncoderTimeRangesTreeWalkerXMLDocument
廃止された DOM インターフェイス
ドキュメントオブジェクトモデルは高度に単純化されてきています。このため、 DOM レベル 3 以前の仕様書にあった以下のインターフェイスは削除されています。一部が再導入されるかどうかはまだ不明ですが、当面は廃止されたと考え、使用を避けてください。
DOMConfigurationDOMErrorHandlerDOMImplementationListDOMImplementationRegistryDOMImplementationSourceDOMLocatorDOMObjectDOMSettableTokenListDOMUserDataElementTraversalEntityEntityReferenceNameListNotationTypeInfoUserDataHandler
HTML DOM
HTML を含む文書は、 HTML 仕様で拡張した様々な HTML 固有の機能を含む Document インターフェイスを使用して記述されます。具体的には、 Element インターフェイスは拡張されて HTMLElement を始めとするサブクラスになっており、それぞれが要素の一つ (または深く関係した同類のもの) を表します。
HTML DOM API によって、タブやウィンドウ、 CSS スタイルやスタイルシート、ブラウザーの履歴など、様々なブラウザーの機能にアクセスすることができます。これらのインターフェイスの詳細については、 HTML DOM API のドキュメントにあります。
SVG のインターフェイス
SVG 要素のインターフェイス
SVGAElement(en-US)SVGAnimationElement(en-US)SVGAnimateElement(en-US)SVGAnimateColorElement(en-US) 非推奨SVGAnimateMotionElement(en-US)SVGAnimateTransformElement(en-US)SVGCircleElement(en-US)SVGClipPathElement(en-US)SVGComponentTransferFunctionElement(en-US)SVGCursorElement(en-US)SVGDefsElement(en-US)SVGDescElement(en-US)SVGElementSVGEllipseElement(en-US)SVGFEBlendElement(en-US)SVGFEColorMatrixElement(en-US)SVGFEComponentTransferElement(en-US)SVGFECompositeElement(en-US)SVGFEConvolveMatrixElement(en-US)SVGFEDiffuseLightingElement(en-US)SVGFEDisplacementMapElement(en-US)SVGFEDistantLightElement(en-US)SVGFEDropShadowElement(en-US)SVGFEFloodElement(en-US)SVGFEFuncAElement(en-US)SVGFEFuncBElement(en-US)SVGFEFuncGElement(en-US)SVGFEFuncRElement(en-US)SVGFEGaussianBlurElement(en-US)SVGFEImageElement(en-US)SVGFEMergeElement(en-US)SVGFEMergeNodeElement(en-US)SVGFEMorphologyElement(en-US)SVGFEOffsetElement(en-US)SVGFEPointLightElement(en-US)SVGFESpecularLightingElement(en-US)SVGFESpotLightElement(en-US)SVGFETileElement(en-US)SVGFETurbulenceElement(en-US)SVGFilterElement(en-US)SVGFilterPrimitiveStandardAttributesSVGFontElement非推奨SVGFontFaceElement(en-US) 非推奨SVGFontFaceFormatElement(en-US) 非推奨SVGFontFaceNameElement(en-US) 非推奨SVGFontFaceSrcElement(en-US) 非推奨SVGFontFaceUriElement(en-US) 非推奨SVGForeignObjectElement(en-US)SVGGElement(en-US)SVGGeometryElement(en-US)SVGGlyphElement(en-US) 非推奨SVGGlyphRefElement(en-US) 非推奨SVGGradientElement(en-US)SVGGraphicsElementSVGHatchElementExperimentalSVGHatchpathElementExperimentalSVGHKernElement(en-US) 非推奨SVGImageElement(en-US)SVGLinearGradientElement(en-US)SVGLineElement(en-US)SVGMarkerElement(en-US) ExperimentalSVGMaskElement(en-US)SVGMetadataElement(en-US)SVGMissingGlyphElement(en-US) 非推奨SVGMPathElement(en-US)SVGPathElement(en-US)SVGPatternElement(en-US)SVGPolylineElement(en-US)SVGPolygonElement(en-US)SVGRadialGradientElement(en-US)SVGRectElement(en-US)SVGScriptElement(en-US)SVGSetElement(en-US)SVGStopElement(en-US)SVGStyleElement(en-US)SVGSVGElement(en-US)SVGSwitchElement(en-US)SVGSymbolElement(en-US)SVGTextContentElement(en-US)SVGTextElementSVGTextPathElement(en-US)SVGTextPositioningElement(en-US)SVGTitleElement(en-US)SVGTRefElement(en-US) 非推奨SVGTSpanElement(en-US)SVGUseElement(en-US)SVGViewElement(en-US)SVGVKernElement(en-US) 非推奨
SVG データ型のインターフェイス
SVG のプロパティと属性の定義で使用されるデータタイプの DOM API を次に示します。
静的型
SVGAngle(en-US)SVGColor非推奨SVGICCColor非推奨SVGElementInstanceSVGElementInstanceListSVGLength(en-US)SVGLengthList(en-US)SVGNameListSVGNumber(en-US)SVGNumberList(en-US)SVGPaintSVGPathSeg非推奨SVGPathSegClosePath非推奨SVGPathSegMovetoAbs非推奨SVGPathSegMovetoRel非推奨SVGPathSegLinetoAbs非推奨SVGPathSegLinetoRel非推奨SVGPathSegCurvetoCubicAbs非推奨SVGPathSegCurvetoCubicRel非推奨SVGPathSegCurvetoQuadraticAbs非推奨SVGPathSegCurvetoQuadraticRel非推奨SVGPathSegArcAbs非推奨SVGPathSegArcRel非推奨SVGPathSegLinetoHorizontalAbs非推奨SVGPathSegLinetoHorizontalRel非推奨SVGPathSegLinetoVerticalAbs非推奨SVGPathSegLinetoVerticalRel非推奨SVGPathSegCurvetoCubicSmoothAbs非推奨SVGPathSegCurvetoCubicSmoothRel非推奨SVGPathSegCurvetoQuadraticSmoothAbs非推奨SVGPathSegCurvetoQuadraticSmoothRel非推奨SVGPathSegList非推奨SVGPoint(en-US) 非推奨SVGPointList(en-US) 非推奨SVGPreserveAspectRatio(en-US)SVGRect非推奨SVGStringListSVGTransform(en-US)SVGTransformList(en-US)
アニメーション型
SVGAnimatedAngle(en-US)SVGAnimatedBoolean(en-US)SVGAnimatedEnumeration(en-US)SVGAnimatedInteger(en-US)SVGAnimatedLength(en-US)SVGAnimatedLengthList(en-US)SVGAnimatedNumber(en-US)SVGAnimatedNumberList(en-US)SVGAnimatedPathData非推奨SVGAnimatedPoints(en-US)SVGAnimatedPreserveAspectRatio(en-US)SVGAnimatedRect(en-US)SVGAnimatedString(en-US)SVGAnimatedTransformList(en-US)
SMIL 関連インターフェイス
その他 SVG インターフェイス
仕様書
| Specification |
|---|
| DOM Standard |