Document Object Model (DOM) は、— ウェブページを表す HTML のように — 文書の構造をメモリ内に表現することで、ウェブページとスクリプトやプログラミング言語を接続するものです。ふつうは JavaScript を使用しますが、 HTML、 SVG、 XML などの文書をオブジェクトとしてモデリングすることは JavaScript 言語の一部ではありません。

DOM のモデルは文書を論理的なツリーで表現します。ツリーのそれぞれの枝はノードで終わっており、それぞれのノードがオブジェクトを含んでいます。 DOM のメソッドでプログラム的にツリーにアクセスでき、文書構造やスタイルやコンテンツを変更することができます。ノードにはイベントハンドラーを割り当てることができます。イベントが発生すると、イベントハンドラーが実行されます。

DOM とは何であるか、どのように文書を表現するのかについて学習するのであれば、 DOM 入門をご覧ください。

DOM インターフェイス

廃止された DOM インターフェイス

Document Object Model は高度に単純化されてきています。このため、 DOM レベル3以前の仕様書にあった以下のインターフェイスは削除されています。一部が再導入されるかどうかはまだあまり不明ですが、当面は廃止されたと考え、使用を避けてください。

HTML DOM

HTML を含む文書は、 HTML 仕様で拡張した様々な HTML 固有の機能を含む Document インターフェイスを使用して記述されます。具体的には、 Element インターフェイスは拡張されて HTMLElement を始めとするのサブクラスになっており、それぞれが要素の一つ (または深く関係した同類のもの) を表します。

HTML DOM API によって、タブやウィンドウ、 CSS スタイルやスタイルシート、ブラウザーの履歴など、様々なブラウザーの機能にアクセスすることができます。これらのインターフェイスや詳細については、 HTML DOM API のドキュメントにあります。

SVG のインターフェイス

SVG 要素のインターフェイス

SVG データ型のインターフェイス

SVG のプロパティと属性の定義で使用されるデータタイプの DOM API を次に示します。

メモ: Gecko 5.0 から、オブジェクトのリストを表す SVG 関連 DOM インターフェイスのうち SVGLengthList, SVGNumberList, SVGPathSegList, SVGPointList がインデックス可能になり、アクセスできるようになりました。また、リスト内の項目数を示す長さプロパティを持っています。

静的型

アニメーション型

その他 SVG インターフェイス

仕様書

仕様書 状態 備考
DOM 現行の標準  
DOM4 廃止された  
Document Object Model (DOM) Level 3 Core Specification 廃止された  
Document Object Model (DOM) Level 2 Core Specification 廃止された  
Document Object Model (DOM) Level 1 Specification 廃止された 初回定義

関連情報

ドキュメントのタグと貢献者

最終更新者: mfuji09,