Document Object Model の略で、javascriptなどのプログラムからxmlやhtmlで書かれた文書を扱うための仕組みの標準。xml,html同様W3C(World Wide Web Consortium ダブリュースリーシー)が標準の策定をしています。
DOMでは文書を木構造(tree)としてとらえ、枝分かれの部分や枝の先端をノード(node)と呼びます。タグやその中の属性、テキストがそれぞれノードになります。
例えば以下のようなリストではulタグやliタグがエレメントノードになります。ulタグの中に3つのliタグがありますからulで枝分かれしていると見るわけです。liタグの中の「りんご」「みかん」といった文字列はテキストノードといいます。
<ul> <li>りんご</li> <li>みかん</li> <li>バナナ</li> </ul>
テキストノードはliタグの中に入っていることから、それぞれliタグの子ノードであると考えます。テキストノードから見てliタグは親ノードです。同様にliタグはulタグの子ノードでulタグはliノードの親ノードとなります。
ノードの種類(Node Type) | ノードの名前(Name) | ノードの値(Value) |
---|---|---|
エレメントノード(Element Node) | タグ名(tagName) | なし(null) |
テキストノード(Text Node) | #text | テキストノードの内容 |
属性ノード(Attribute Node) | 属性の名前 | 属性の値 |
属性ノード(attribute node)はタグに書かれたtitle="hoge"などの属性のことです。エレメントノードのプロパティ(特性・特質)という位置づけで、親子関係ではありません。