HTML DOMとは何ですか?


HTML

HTML DOMは、HTMLオブジェクトモデルですそれは定義します:

  • オブジェクトとしてのHTML要素
  • すべてのHTML要素の プロパティ
  • すべてのHTML要素のメソッド
  • すべてのHTML要素のイベント

HTML

HTML DOMは、JavaScriptAPI(プログラミングインターフェイス)です

  • JavaScriptはHTML要素を追加/変更/削除できます
  • JavaScriptはHTML属性を追加/変更/削除できます
  • JavaScriptはCSSスタイルを追加/変更/削除できます
  • JavaScriptはHTMLイベントに反応できます
  • JavaScriptはHTMLイベントを追加/変更/削除できます

HTML DOM(ドキュメントオブジェクトモデル)

Webページがロードされると、ブラウザはページドキュメントオブジェクトモデル 作成します。

HTML DOMモデルは、オブジェクトのツリーとして構築されます

オブジェクトのHTMLDOMツリー

DOM HTML tree

HTML要素の検索

JavaScriptを使用してHTML要素にアクセスする場合は、最初に要素を見つける必要があります。

これを行うには、いくつかの方法があります。

  • IDによるHTML要素の検索
  • タグ名によるHTML要素の検索
  • クラス名によるHTML要素の検索
  • CSSセレクターによるHTML要素の検索
  • HTMLオブジェクトコレクションによるHTML要素の検索

IDによるHTML要素の検索

DOMでHTML要素を見つける最も簡単な方法は、要素IDを使用することです。

この例では、id = "intro"の要素を検索します。

var myElement = document.getElementById("intro");

要素が見つかった場合、メソッドはその要素をオブジェクトとして(myElement内に)返します。

要素が見つからない場合、myElementにはnullが含まれます。


タグ名によるHTML要素の検索

この例では、すべての<p>要素を検索します。

var x = document.getElementsByTagName("p");

この例では、id = "main"の要素を検索してから、 "main"内のすべての<p>要素を検索します。

var x = document.getElementById("main");
var y = x.getElementsByTagName("p");


クラス名によるHTML要素の検索

同じクラス名のすべてのHTML要素を検索する場合は、getElementsByClassName()を使用します。

この例では、class = "intro"を持つすべての要素のリストを返します。

var x = document.getElementsByClassName("intro");

クラス名による要素の検索は、Internet Explorer8以前のバージョンでは機能しません。


CSSセレクターによるHTML要素の検索

指定されたCSSセレクター(ID、クラス名、タイプ、属性、属性の値など)に一致するすべてのHTML要素を検索する場合は、querySelectorAll()メソッドを使用します。

この例では、class = "intro"を持つすべての<p>要素のリストを返します。

var x = document.querySelectorAll("p.intro");

querySelectorAll()メソッドは、Internet Explorer8以前のバージョンでは機能しません。


HTMLオブジェクトコレクションによるHTML要素の検索

HTMLオブジェクトコレクションにもアクセスできます。


HTMLDOMチュートリアル

完全なHTMLDOMチュートリアル

これは、HTMLDOMの簡単な紹介です。

完全なHTMLDOMチュートリアルについては、W3SchoolsHTMLDOMチュートリアルにアクセスしてください