Document
========

**`Document`** インターフェイスはブラウザーに読み込まれたウェブページを表し、 DOM ツリーであるウェブページのコンテンツへの入口としての役割を果たします。

DOM ツリーには `<body>` や `<table>` など、多数の要素があります。これはページの URL を取得したり文書で新たな要素を作成するなど、文書全体に関わる機能を提供します。

EventTarget

Node

Document
`Document` インターフェイスは、あらゆる種類の文書に対して共通のプロパティやメソッドを提供します。また、文書の種類（例: HTML、XML、SVG など）に応じて、より大規模な API を使用できます。コンテンツタイプ `"text/html"` で提供される HTML 文書では、 `HTMLDocument` インターフェイスも実装します。一方 XML や SVG 文書では、 `XMLDocument` インターフェイスを実装します。

コンストラクター
--------

`Document()`

新しい `Document` オブジェクトを作成します。

インスタンスプロパティ
-----------

*このインターフェイスは、 `Node` インターフェイスおよび `EventTarget` インターフェイスのプロパティも継承しています。*

`Document.activeElement` 読取専用 

現在フォーカスのある `Element` を返します。

`Document.adoptedStyleSheets` (en-US)

 文書で使用するために構築したスタイルシートの配列を追加します。
 これらのスタイルシートは、同じ文書のシャドウ DOM のサブツリーと共有されます。


`Document.body`

現在の文書の `<body>` または `<frameset>` ノードを返します。

`Document.characterSet` 読取専用 

文書に適用されている文字セットを返します。

`Document.childElementCount` 読取専用 

現在の文書の子要素の数を返します。

`Document.children` (en-US) 読取専用 

現在の文書の子要素を返します。

`Document.compatMode` 読取専用 

文書が *Quirks* モードと *Strict* モードのどちらで描画されているかを示します。

`Document.contentType` 読取専用 

現在の文書の MIME ヘッダーから Content-Type を返します。

`Document.currentScript` 読取専用 

`<script>` 要素のうち、現在処理中で、かつ JavaScript モジュールでないものを返します。

`Document.doctype` 読取専用 

現在の文書の文書型宣言 (DTD) を返します。

`Document.documentElement` 読取専用 

文書の直接の子である `Element` を返します。 HTML 文書では、これは通常は `HTMLHtmlElement` オブジェクトで、文書の `<html>` 要素を表します。

`Document.documentURI` 読取専用 

文書の場所を文字列で返します。

`Document.embeds` 読取専用 

`HTMLCollection` で、現在の文書に含まれる埋め込まれた `<embed>` 要素のリストを返します。

`Document.firstElementChild` (en-US) 読取専用 

現在の文書における最初の子要素を返します。

`Document.fonts`

現在の文書の `FontFaceSet` インターフェイスを返します。

`Document.forms` 読取専用 

`HTMLCollection` で現在の文書の `<form>` 要素を返します。

`Document.fragmentDirective` 読取専用  
Experimental

現在の文書の `FragmentDirective` を返します。

`Document.fullscreenElement` 読取専用 

この文書で現在全画面モードになっている要素です。

`Document.head` 読取専用 

現在の文書の `<head>` 要素を返します。

`Document.hidden` 読取専用 

このページが非表示と見なされているかどうかを論理値で返します。

`Document.images` 読取専用 

`HTMLCollection` で、現在の文書の画像のリストを返します。

`Document.implementation` 読取専用 

現在の文書に関連付けられた DOM 実装を返します。

`Document.lastElementChild` (en-US) 読取専用 

現在の文書における最後の子要素を返します。

`Document.links` 読取専用 

`HTMLCollection` で、文書内のすべてのハイパーリンクのリストを返します。

`Document.pictureInPictureElement` 読取専用 

この文書で現在、ピクチャインピクチャモードで表示されている要素 (`Element`) を返します。

`Document.pictureInPictureEnabled` 読取専用 

ピクチャインピクチャ機能が有効であれば true を返します。

`Document.plugins` 読取専用 

`HTMLCollection` で、利用可能なプラグインのリストを返します。

`Document.pointerLockElement` 読取専用 

ポインターがロックされている場合、マウスイベントのターゲットとして設定された要素を返します。ロック待ちの場合、ポインターがロックされていない場合、ターゲットが他の文書にある場合は `null` を返します。

`Document.featurePolicy` 
Experimental
 読取専用 

特定の文書に適用される機能ポリシーを簡単に導入するための API を提供する `FeaturePolicy` (en-US) インターフェイスを返します。

`Document.scripts` 読取専用 

`HTMLCollection` で、文書内のすべての `<script>` 要素を返します。

`Document.scrollingElement` 読取専用 

文書をスクロールする `Element` への参照を返します。

`Document.styleSheets` 読取専用 

`StyleSheetList` で、文書で明示的にリンクされているスタイルシートや、文書に埋め込まれているスタイルシート（`CSSStyleSheet` オブジェクトのリスト）を返します。

`Document.timeline` 読取専用 

タイムラインを `DocumentTimeline` (en-US) の特別なインスタンスで返します。これはページの読み込み時に自動的に生成されます。

`Document.visibilityState` 読取専用 

文書の可視性を表す文字列を返します。 `visible`, `hidden`, `prerender`, `unloaded` のいずれかの値になります。

### HTML 文書向けの拡張

*HTML 文書用の `Document` インターフェイスは `HTMLDocument` インターフェイスから継承されていたり、拡張されていたりします。*

`Document.cookie`

文書のクッキーをセミコロンで区切られたリストで返すか、単一のクッキーを設定するかします。

`Document.defaultView` 読取専用 

window オブジェクトへの参照を返します。

`Document.designMode`

文書全体を編集可能かを取得/設定します。

`Document.dir`

文書の書字方向 (rtl/ltr) を取得/設定します。

`Document.domain` 
非推奨

現在の文書のドメインを取得/設定します。

`Document.fullscreenEnabled` 読取専用 

全画面モードが利用できるかどうかを示します。

`Document.lastModified` 読取専用 

文書の最終更新日を返します。

`Document.location` 読取専用 

現在の文書の URI を返します。

`Document.readyState` 読取専用 

文書の読み込み状況を表す文字列を返します。

`Document.referrer` 読取専用 

このページへリンクしたページの URI を返します。

`Document.title`

現在の文書のタイトルを設定または取得します。

`Document.URL` 読取専用 

現在の文書の URL を含む文字列を返します。

### 非推奨のプロパティ

`Document.alinkColor` 
非推奨

文書本文内のアクティブなリンクの色を取得または設定します。

`Document.all` 
非推奨

文書内のすべての要素にアクセスできます。文書ノードを起点とする `HTMLAllCollection` (en-US) を返します。これは古い標準外のプロパティですので、使用しないようにしてください。

`Document.anchors` 
非推奨
 読取専用 

文書内のすべてのアンカーのリストを返します。

`Document.applets` 
非推奨
 読取専用 

空の `HTMLCollection` を返します。文書内にあるアプレットのリストを返すために使われた古いプロパティです。

`Document.bgColor` 
非推奨

現在の文書の背景色を取得または設定します。

`Document.charset` 
非推奨
 読取専用 

`Document.characterSet` の別名です。代わりに `Document.characterSet` を使用してください。

`Document.fgColor` 
非推奨

現在の文書の前景色または文字色を取得/設定します。

`Document.fullscreen` 
非推奨

文書が全画面モードにあるときに `true` になります。

`Document.inputEncoding` 
非推奨
 読取専用 

`Document.characterSet` の別名です。代わりにそちらを使用してください。

`Document.lastStyleSheetSet` 
非推奨
 読取専用  
Non-standard

直前に有効であったスタイルシートセットの名称を返します。 `selectedStyleSheetSet` に値を設定してスタイルシートを変更するまで、この値は `null` になります。

`Document.linkColor` 
非推奨

文書内のハイパーリンクの色を取得/設定します。

`Document.preferredStyleSheetSet` 
非推奨
 読取専用  
Non-standard

ページの作者によって設定された、推奨されるスタイルシートを返します。

`Document.rootElement` 
非推奨

`Document.documentElement` と同様ですが、 `<svg>` ルート要素専用です。こちらのプロパティを代わりに使用してください。

`Document.selectedStyleSheetSet` 
非推奨

Non-standard

現在どのスタイルシートセットを使用しているかを返します。

`Document.styleSheetSets` 
非推奨
 読取専用  
Non-standard

文書で使用できるスタイルシートセットのリストを返します。

`Document.vlinkColor` 
非推奨

訪問済みのハイパーリンクの色を取得/設定します。

`Document.xmlEncoding` (en-US) 
非推奨

XML 宣言によって決められたエンコーディングを返します。

`Document.xmlStandalone` 
非推奨

XML 宣言で文書がスタンドアロンである（*例*: DTD の外部パートが文書のコンテンツに影響する）場合に `true` を、そうでない場合に `false` を返します。

`Document.xmlVersion` 
非推奨

XML 宣言で指定されたバージョン番号、または宣言が省略されている場合に `"1.0"` を返します。

インスタンスメソッド
----------

*このインターフェイスは、`Node` インターフェイスおよび `EventTarget` インターフェイスのメソッドを継承します。*

`Document.adoptNode()`

外部文書からノードを取り込みます。

`Document.append()` (en-US)

文書の最後の子の後に `Node` オブジェクトまたは文字列の集合を挿入します。

`Document.captureEvents()` 
非推奨

`Window.captureEvents` をご覧ください。

`Document.caretPositionFromPoint()`

キャレットを含む DOM ノードと、そのノード内でのキャレットの文字オフセットを含む `CaretPosition` オブジェクトを返します。

`Document.caretRangeFromPoint()` 
Non-standard

指定した座標にある文書の断片の `Range` オブジェクトを取得します。

`Document.createAttribute()`

新しい `Attr` オブジェクトを生成して、返します。

`Document.createAttributeNS()` (en-US)

指定した名前空間に新しい属性ノードを生成して、返します。

`Document.createCDATASection()`

新しい CDATA ノードを生成して、返します。

`Document.createComment()`

新しいコメントノードを生成して、返します。

`Document.createDocumentFragment()`

新しい文書断片を生成します。

`Document.createElement()`

指定したタグ名で新しい要素を生成します。

`Document.createElementNS()`

指定したタグ名およびネームスペース URI で、新しい要素を生成します。

`Document.createEvent()`

イベントオブジェクトを生成します。

`Document.createNodeIterator()`

`NodeIterator` オブジェクトを生成します。

`Document.createProcessingInstruction()`

新しい `ProcessingInstruction` オブジェクトを生成します。

`Document.createRange()`

`Range` オブジェクトを生成します。

`Document.createTextNode()`

テキストノードを生成します。

`Document.createTouch()` 
非推奨

Non-standard

`Touch` オブジェクトを生成します。

`Document.createTouchList()` 
非推奨

Non-standard

`TouchList` オブジェクトを生成します。

`Document.createTreeWalker()` (en-US)

`TreeWalker` オブジェクトを生成します。

`Document.elementFromPoint()`

指定された座標の最上位の要素を返します。

`Document.elementsFromPoint()`

指定された座標にあるすべての要素の配列を返します。

`Document.enableStyleSheetsForSet()` 
非推奨

Non-standard

指定したスタイルシートセットのスタイルシートを有効化します。

`Document.exitFullscreen()`

文書の全画面モードにある要素の全画面表示を止めます。

`Document.exitPictureInPicture()`

浮動ピクチャーインピクチャーウィンドウから動画を取り外し、元のコンテナーに戻します。

`Document.exitPointerLock()`

ポインターロックを解放します。

`Document.getAnimations()`

現在実行中であるすべての `Animation` オブジェクトの配列を返します。この対象要素は、`document` の子孫要素です。

`Document.getBoxQuads()` 
Experimental

このノードの CSS フラグメントを表す `DOMQuad` オブジェクトのリストを返します。

`Document.getElementById()`

識別された要素のオブジェクト参照を返します。

`Document.getElementsByClassName()`

指定されたクラス名を持つ要素のリストを返します。

`Document.getElementsByTagName()`

指定されたタグ名を持つ要素のリストを返します。

`Document.getElementsByTagNameNS()`

指定されたタグ名と名前空間を持つ要素のリストを返します。

`Document.getSelection()`

ユーザーが現在選択しているテキスト範囲、または現在のキャレットの位置を表す `Selection` オブジェクトを返します。

`Document.hasStorageAccess()`

文書に分離されていないクッキーへのアクセスがあるかどうかを示す論理値で解決する `Promise` を返します。

`Document.importNode()`

外部文書のノードの複製を返します。

`Document.prepend()` (en-US)

文書の最初の子の前に、 `Node` オブジェクトまたは文字列の集合を挿入します。

`Document.querySelector()`

指定したセレクターに一致する、文書内で最初の要素ノードを返します。

`Document.querySelectorAll()`

指定したセレクターに一致する、文書内のすべての要素ノードのリストを返します。

`Document.releaseCapture()` 
Non-standard

この文書内の要素でマウスキャプチャを行っている場合、マウスキャプチャを解放します。

`Document.releaseEvents()` 
非推奨

`Window.releaseEvents()` をご覧ください。

`Document.replaceChildren()` (en-US)

文書の既存の子を、指定された新しい子の集合で置き換えます。

`Document.requestStorageAccess()`

サードパーティのコンテキスト（すなわち、 `<iframe>` に埋め込まれたもの）に読み込まれた文書が、分離されていないクッキーへのアクセスを要求できるようにします。これはユーザーエージェントが既定で、プライバシーを改善するためにサードパーティコンテキストで読み込まれたサイトによる分離されていないクッキーへのアクセスをブロックしている場合に使用します。

`Document.startViewTransition()` 
Experimental

新しいビュートランジションを開始し、それを表すための `ViewTransition` オブジェクトを返します。

`Document.mozSetImageElement()` (en-US) 
Non-standard

指定した ID を持つ要素の背景画像として使用する要素を変更できます。

`Document` インターフェイスは、`XPathEvaluator` (en-US) インターフェイスによって拡張されています。

`Document.createExpression()`

(繰り返し) 評価に使用できる `XPathExpression` をコンパイルします。

`Document.createNSResolver()`

`XPathNSResolver` (en-US) オブジェクトを生成します。

`Document.evaluate()`

XPath 表現を評価します。

### HTML 文書向けの拡張

HTML 文書用の `Document` インターフェイスは `HTMLDocument` インターフェイスから継承または拡張されています。

`Document.clear()` 
非推奨

このメソッドは何もしません。

`Document.close()`

書き込み用の文書ストリームを閉じます。

`Document.execCommand()` 
非推奨

編集可能な文書で、フォーマットコマンドを実行します。

`Document.getElementsByName()`

(引数で) 与えられた名前 (name) を持つ要素のリストを返します。

`Document.hasFocus()`

指定した文書内にフォーカスがある場合に、 `true` を返します。

`Document.open()`

書き込み用の文書ストリームを開きます。

`Document.queryCommandEnabled()` (en-US) 
非推奨

Non-standard

現在の領域でフォーマットコマンドを実行できる場合に、 true を返します。

`Document.queryCommandIndeterm()` 
非推奨

現在の領域でフォーマットコマンドの状態が不確定である場合に true を返します。

`Document.queryCommandState()` 
非推奨

Non-standard

現在の領域でフォーマットコマンドを実行した場合に true を返します。

`Document.queryCommandSupported()` 
非推奨

Non-standard

現在の領域でフォーマットコマンドをサポートしている場合に、true を返します。

`Document.queryCommandValue()` 
非推奨

指定したフォーマットコマンドについて、現在の領域における値を返します。

`Document.write()`

文書にテキストを書き込みます。

`Document.writeln()`

文書にテキスト行を書き込みます。

イベント
----

これらのイベントを待ち受けするには、 `addEventListener()` を使用するか、本インターフェイスの `onイベント名` プロパティへイベントリスナーを代入するかしてください。

`afterscriptexecute` 
Non-standard

静的な `<script>` 要素でスクリプトの実行が完了した時に発生します。

`beforescriptexecute` 
Non-standard

静的な `<script>` で実行を開始しようとしている時に発生します。

`securitypolicyviolation` (en-US)

コンテンツセキュリティポリシーに違反した場合に発行されます。

`scroll`

文書のビューまたは要素がスクロールしたときに発行されます。

`visibilitychange`

タブの内容の表示・非表示の状態が切り替わった時に発行されます。

`wheel` (en-US)

ユーザーがポインティングデバイス（通常はマウス）のホイールボタンを回転させた時に発行されます。

### アニメーションイベント

`animationcancel`

アニメーションが予期せず中断された時に発行されます。

`animationend`

アニメーションが正常に完了したときに発行されます。

`animationiteration`

アニメーションの1周期が完了したときに発行されます。

`animationstart`

アニメーションが始まった時に発行されます。

### クリップボードイベント

`copy`

ユーザーがブラウザーのユーザーインターフェイスからコピー操作を開始した時に発行されます。

`cut`

ユーザーがブラウザーのユーザーインターフェイスから切り取り操作を開始したときに発行されます。

`paste`

ユーザーがブラウザーのユーザーインターフェイスから貼り付け操作を開始したときに発行されます。

### ドラッグ＆ドロップイベント

`drag`

要素またはテキストの選択範囲をユーザーがドラッグしている間、数百ミリ秒ごとに発行されます。

`dragend`

ドラッグ操作が終了したとき (マウスボタンを離したときやエスケープキーを押したとき) に発行されます。

`dragenter`

ドラッグ中の要素またはテキストの選択範囲が妥当なドロップ対象に入ったときに発行されます。

`dragleave`

ドラッグ中の要素またはテキストの選択範囲が妥当なドロップ対象から外れたときに発行されます。

`dragover`

要素またはテキストの選択範囲が妥当なドロップ対象の上をドラッグされているときに (数ミリ秒ごとに) 発行されます。

`dragstart`

ユーザーが要素またはテキストの選択範囲のドラッグを開始したときに発行されます。

`drop`

要素またはテキストの選択範囲が妥当なドロップ対象にドロップされたときに発行されます。

### 全画面イベント

`fullscreenchange`

`Document` が全画面モードへ移行したとき、または解除されたときに発行されます。

`fullscreenerror`

全画面モードへ切り替えようとしたとき、または解除しようとしたときにエラーが発生した場合に発行されます。

### キーボードイベント

`keydown`

キーが押されたときに発行されます。

`keypress` (en-US) 
非推奨

文字値を生成するキーが押下されたときに発行されます。

`keyup`

キーを離したときに発行されます。

### ロード＆アンロードイベント

`DOMContentLoaded`

文書が完全に読み込まれて解釈されたときに、スタイルシート、画像、サブフレームの読み込みが完了するのを待たずに発行されます。

`readystatechange`

文書の `readyState` 属性が変更されたときに発行されます。

### ポインターイベント

`gotpointercapture`

`setPointerCapture()` を使用して要素がポインターをキャプチャしたときに発行されます。

`lostpointercapture`

キャプチャされたポインターが解放されたときに発行されます。

`pointercancel`

ポインターイベントがキャンセルされたときに発行されます。

`pointerdown`

ポインターがアクティブになったときに発行されます。

`pointerenter`

ポインターが要素やその子孫のヒットテスト境界の中へ移動したときに発行されます。

`pointerleave`

ポインターが要素のヒットテスト境界の外へ移動したときに発行されます。

`pointerlockchange`

ポインターがロックまたはアンロックされたときに発行されます。

`pointerlockerror`

ポインターをロックしようとして失敗したときに発行されます。

`pointermove`

ポインターの座標が変化したときに発行されます。

`pointerout`

ポインターが（訳あって）要素の *ヒットテスト* 境界の外へ移動したときに発行されます。

`pointerover`

ポインターが要素のヒットテスト境界の中へ移動したときに発行されます。

`pointerup`

ポインターがアクティブではなくなったときに発行されます。

### 選択イベント

`selectionchange`

文書でのテキスト選択範囲が変化したときに発行されます。

### タッチイベント

`touchcancel`

1 つ以上のタッチ点が実装固有の方法で中断された場合に発行されます (例えば、作成されたタッチ点が多すぎた場合など)。

`touchend`

1 つ以上のタッチ点がタッチ面から取り除かれたときに発行されます。

`touchmove`

1 つ以上のタッチ点がタッチ面に沿って移動したときに発行されます。

`touchstart`

1 つ以上のタッチ点がタッチ面に配置されたときに発行されます。

### トランジションイベント

`transitioncancel`

CSS トランジションがキャンセルされたときに発行されます。

`transitionend`

CSS トランジションが完了したときに発行されます。

`transitionrun`

CSS トランジションが初めて作成されたときに発行されます。

`transitionstart`

CSS トランジションが実際に開始されたときに発行されます。

仕様書
---

| Specification |
| --- |
| DOM Standard # interface-document |
| HTML Standard # the-document-object |
| CSSOM View Module # extensions-to-the-document-interface |
| Pointer Lock 2.0 # extensions-to-the-document-interface |
| Selection API # extensions-to-document-interface |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.