HTML DOM基礎知識


一.DOMとは何か
HTMLドキュメントのオブジェクトモデル(HTML Dcument Object Model)は、HTMLドキュメントにアクセスして処理するための標準的な方法を定義しています.HTML DOMは、HTMLドキュメントを、要素、属性、テキストを含むツリー構造(ノードツリー)として提示する.
1998年にW 3 Cは第一級のDOM仕様を発表しました.この仕様は、HTMLページのそれぞれの個別要素へのアクセスと操作を可能にします.すべてのブラウザがこの基準を実行しているため、DOMの互換性の問題もほとんど見つからなくなりました.
DOMは、JavaScriptによってHTML、XHTML、XMLドキュメントの読み込み、変更ができます.異なる部分(コア、XML及びHTML)とレベル(DOM Level 1/2/3)に分けられる:
コアDOM
任意の構造化ドキュメントに対する標準的なオブジェクトを定義します.
XML DOM
標準的なXMLドキュメントのオブジェクトを指定しました.
HTML DOM
標準的なHTMLドキュメントのオブジェクトを指定しました.
二.文書ツリー(ノードツリー)
以下のHTML文書:
<html>
  <head>
    <title>DOM Tutorial</title> 
  </head> 
  <body> 
    <h1>DOM Lesson one</h1> 
    <p>Hello world!</p> 
  </body> 
</html>
1)ドキュメントノード以外の各ノードには、親ノードがあります.
2)ほとんどの要素ノードにサブノードがあります.
3)ノードが同じ親ノードを共有する場合、それらは同輩(同級ノード)である.
4)ノードは後代を持つこともでき、後代はノードのすべてのサブノードを指すか、またはこれらのサブノードのサブノードを指す.
5)ノードも先輩を持つことができる.先辈はあるノードの父ノードか、あるいは父ノードの父ノードです.
三.ノード情報
各ノードは、ノードに関するいくつかの情報を含む属性を有する.これらの属性は:
nodeName(ノード名)、nodeValue(ノード値)、nodeType(ノードタイプ)
1.nodeName
nodeName属性は、あるノードの名前を含んでいます.
元素ノードのnodeNameはラベル名です.
属性ノードのnodeNameは属性名です.
テキストノードのnodeNameはいつまでも𞃳textです.
ドキュメントノードのnodeNameは永遠に
コメント:nodeNameに含まれているXML要素のラベル名は常に大文字です.
2.nodeValue
テキストノードには、nodeValue属性がテキストを含みます.
属性ノードに対して、nodeValue属性は属性値を含む.
nodeValue属性は、文書ノードと要素ノードに対して利用できません.
3.nodeType
nodeType属性は、ノードのタイプに戻ります.
最も重要なノードタイプは、
要素タイプノードタイプ
元素1
属性2
テキスト3
コメント8
文書9
四.ノードの検索
1.getElementById()とgetElementsByName()とgetElements ByTagName()を使用することにより、方法
2.一つの要素ノードのchildNodesを使用することにより、parent Node、first Child及びlastChild属性
ルートノード
ルートノードにアクセスするために2つの特殊な文書属性があります.
document.documentElement  XMLおよびHTMLドキュメントに存在する文書のルートノードに戻ることができます.
Dcument.body  HTMLページの特殊な拡張機能には、「body」タブへの直接アクセスが提供されています.