JavaScript/DOM/Document

Document(ドキュメント)

JavaScriptにおける「Document(ドキュメント)」オブジェクトは、ウェブページの内容を操作するために使用される中心的なオブジェクトです。これは、DOM(Document Object Model)の一部であり、HTMLやXML文書の構造にアクセスして操作するためのインターフェースを提供します。

Documentオブジェクトの役割

Documentオブジェクトは、ウェブページの内容をプログラムから操作するための基本的なインターフェースです。JavaScriptからHTML要素を動的に操作したり、新しい要素を追加したり、既存の要素を変更したりすることができます。

主な機能

1. ドキュメントのアクセス

Documentオブジェクトは、documentというグローバル変数として自動的に提供され、現在表示されているウェブページの内容を指し示します。

console.log(document);  // 現在のドキュメント情報を表示

2. 要素の取得

Documentオブジェクトには、ページ内のHTML要素を取得するためのメソッドがいくつか用意されています。例えば、getElementById()getElementsByClassName()querySelector()などがあります。

let element = document.getElementById("myElement");

3. 新しい要素の作成

Documentオブジェクトを使って、新しいHTML要素を作成し、ページに追加することができます。createElement()を使って新しい要素を生成し、appendChild()を使ってその要素を追加できます。

let newDiv = document.createElement("div"); newDiv.textContent = "新しい要素"; document.body.appendChild(newDiv);

4. イベントの処理

Documentオブジェクトは、ページのさまざまなイベント(例えば、クリックやキーボード入力)を管理するためのイベントリスナーを設定することもできます。

document.addEventListener("click", function() { alert("ページがクリックされました"); });

静的プロパティ

静的プロパティ

Document.arguments

非推奨の静的プロパティです。現在のJavaScriptでは使用すべきではありません。

Document.caller

非推奨の静的プロパティです。現在のJavaScriptでは使用すべきではありません。

Document.length

Documentコンストラクタの引数の数を表します。常に0を返します。

Document.name

Documentコンストラクタの名前を表す文字列プロパティです。"Document"という値を持ちます。

Document.prototype

Documentオブジェクトのプロトタイプを参照します。全てのDocumentインスタンスはこのプロトタイプを継承します。

静的メソッド

Document.parseHTMLUnsafe

HTML文字列をパースしてDOMノードを生成する非標準のメソッドです。セキュリティ上の理由から、一般的な使用は推奨されません。代わりにDOMParserの使用を推奨します。

// 非推奨の使用例
const node = Document.parseHTMLUnsafe("<div>test</div>");

// 推奨される代替方法
const parser = new DOMParser();
const doc = parser.parseFromString("<div>test</div>", "text/html");

インスタンスプロパティ

Document.prototype.location

現在のドキュメントのURL情報を含むLocationオブジェクトを返します。このプロパティを通じて、ページのURLの取得や変更が可能です。

// 現在のURLを取得
console.log(document.location.href);

// 新しいページへ移動
document.location.href = "https://example.com";

インスタンスメソッド

Document.prototype.write

指定された文字列をドキュメントに書き込みます。ドキュメントの読み込み中に使用された場合は、その位置に文字列が挿入されます。ドキュメントの読み込み完了後に使用すると、既存のドキュメントの内容が消去されます。

document.write("<p>新しいコンテンツ</p>");

Document.prototype.writeln

write()メソッドと同様に動作しますが、書き込む文字列の末尾に改行文字(\n)を追加します。

document.writeln("<p>1行目</p>");
document.writeln("<p>2行目</p>");

これらのメソッドは、特にモダンなWeb開発では推奨されません。代わりにinnerHTMLinsertAdjacentHTML()などの安全なDOM操作メソッドを使用することが推奨されます。

Documentオブジェクトと他のDOMオブジェクト

Documentオブジェクトは、DOMツリーのルートノードに相当します。ウェブページ内の全ての要素は、このDocumentからアクセスすることができます。各HTML要素はElementオブジェクトとして表され、Documentオブジェクトと連携して動的な操作が可能となります。

まとめ

Documentオブジェクトは、ウェブページの内容を操作するための基本的なインターフェースであり、DOMを通じて、JavaScriptがウェブページ内の要素を取得、変更、作成、削除、イベントを処理することを可能にします。これにより、インタラクティブで動的なウェブページの構築が実現できます。

カテゴリ:DOM カテゴリ:Web API カテゴリ:JavaScript
カテゴリ:DOM カテゴリ:JavaScript カテゴリ:Web API