diff options
author | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2021-07-05 01:54:01 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-05 01:54:01 +0900 |
commit | d853a8e73b4909d6799af8b12f84947738ddf8d4 (patch) | |
tree | d30c1d014796dff5693753792f190dfee40421fe | |
parent | 7819d811c4afda0780bdfb8f453cf6f367203ccd (diff) | |
download | translated-content-d853a8e73b4909d6799af8b12f84947738ddf8d4.tar.gz translated-content-d853a8e73b4909d6799af8b12f84947738ddf8d4.tar.bz2 translated-content-d853a8e73b4909d6799af8b12f84947738ddf8d4.zip |
Web/API/Node を更新 (#1311)
- conflicting 版は古いので削除
- 2021/06/26 時点の英語版に同期
-rw-r--r-- | files/ja/_redirects.txt | 16 | ||||
-rw-r--r-- | files/ja/_wikihistory.json | 17 | ||||
-rw-r--r-- | files/ja/conflicting/web/api/node/index.html | 34 | ||||
-rw-r--r-- | files/ja/conflicting/web/api/node_378aed5ed6869e50853edbc988cf9556/index.html | 22 | ||||
-rw-r--r-- | files/ja/web/api/node/index.html | 512 |
5 files changed, 275 insertions, 326 deletions
diff --git a/files/ja/_redirects.txt b/files/ja/_redirects.txt index 34c2e15c34..09ffb3bdf7 100644 --- a/files/ja/_redirects.txt +++ b/files/ja/_redirects.txt @@ -1349,7 +1349,7 @@ /ja/docs/DOM/Node /ja/docs/Web/API/Node /ja/docs/DOM/Node.appendChild /ja/docs/Web/API/Node/appendChild /ja/docs/DOM/Node.attributes /ja/docs/Web/API/Element/attributes -/ja/docs/DOM/Node.baseURIObject /ja/docs/conflicting/Web/API/Node +/ja/docs/DOM/Node.baseURIObject /ja/docs/Web/API/Node /ja/docs/DOM/Node.childNodes /ja/docs/Web/API/Node/childNodes /ja/docs/DOM/Node.cloneNode /ja/docs/Web/API/Node/cloneNode /ja/docs/DOM/Node.compareDocumentPosition /ja/docs/Web/API/Node/compareDocumentPosition @@ -1368,7 +1368,7 @@ /ja/docs/DOM/Node.namespaceURI /ja/docs/Web/API/Element/namespaceURI /ja/docs/DOM/Node.nextSibling /ja/docs/Web/API/Node/nextSibling /ja/docs/DOM/Node.nodeName /ja/docs/Web/API/Node/nodeName -/ja/docs/DOM/Node.nodePrincipal /ja/docs/conflicting/Web/API/Node_378aed5ed6869e50853edbc988cf9556 +/ja/docs/DOM/Node.nodePrincipal /ja/docs/Web/API/Node /ja/docs/DOM/Node.nodeType /ja/docs/Web/API/Node/nodeType /ja/docs/DOM/Node.nodeValue /ja/docs/Web/API/Node/nodeValue /ja/docs/DOM/Node.normalize /ja/docs/Web/API/Node/normalize @@ -1416,7 +1416,7 @@ /ja/docs/DOM/document.anchors /ja/docs/Web/API/Document/anchors /ja/docs/DOM/document.applets /ja/docs/Web/API/Document/applets /ja/docs/DOM/document.async /ja/docs/Web/API/XMLDocument/async -/ja/docs/DOM/document.baseURIObject /ja/docs/conflicting/Web/API/Node +/ja/docs/DOM/document.baseURIObject /ja/docs/Web/API/Node /ja/docs/DOM/document.bgColor /ja/docs/Web/API/Document/bgColor /ja/docs/DOM/document.body /ja/docs/Web/API/Document/body /ja/docs/DOM/document.characterSet /ja/docs/Web/API/Document/characterSet @@ -1476,7 +1476,7 @@ /ja/docs/DOM/element.addEventListener /ja/docs/Web/API/EventTarget/addEventListener /ja/docs/DOM/element.appendChild /ja/docs/Web/API/Node/appendChild /ja/docs/DOM/element.attributes /ja/docs/Web/API/Element/attributes -/ja/docs/DOM/element.baseURIObject /ja/docs/conflicting/Web/API/Node +/ja/docs/DOM/element.baseURIObject /ja/docs/Web/API/Node /ja/docs/DOM/element.blur /ja/docs/Web/API/HTMLOrForeignElement/blur /ja/docs/DOM/element.childNodes /ja/docs/Web/API/Node/childNodes /ja/docs/DOM/element.classList /ja/docs/Web/API/Element/classList @@ -3898,7 +3898,7 @@ /ja/docs/Web/API/NavigatorLanguage.languages /ja/docs/Web/API/NavigatorLanguage/languages /ja/docs/Web/API/Node.appendChild /ja/docs/Web/API/Node/appendChild /ja/docs/Web/API/Node.attributes /ja/docs/Web/API/Element/attributes -/ja/docs/Web/API/Node.baseURIObject /ja/docs/conflicting/Web/API/Node +/ja/docs/Web/API/Node.baseURIObject /ja/docs/Web/API/Node /ja/docs/Web/API/Node.childNodes /ja/docs/Web/API/Node/childNodes /ja/docs/Web/API/Node.cloneNode /ja/docs/Web/API/Node/cloneNode /ja/docs/Web/API/Node.compareDocumentPosition /ja/docs/Web/API/Node/compareDocumentPosition @@ -3916,7 +3916,7 @@ /ja/docs/Web/API/Node.namespaceURI /ja/docs/Web/API/Element/namespaceURI /ja/docs/Web/API/Node.nextSibling /ja/docs/Web/API/Node/nextSibling /ja/docs/Web/API/Node.nodeName /ja/docs/Web/API/Node/nodeName -/ja/docs/Web/API/Node.nodePrincipal /ja/docs/conflicting/Web/API/Node_378aed5ed6869e50853edbc988cf9556 +/ja/docs/Web/API/Node.nodePrincipal /ja/docs/Web/API/Node /ja/docs/Web/API/Node.nodeType /ja/docs/Web/API/Node/nodeType /ja/docs/Web/API/Node.nodeValue /ja/docs/Web/API/Node/nodeValue /ja/docs/Web/API/Node.normalize /ja/docs/Web/API/Node/normalize @@ -3928,14 +3928,14 @@ /ja/docs/Web/API/Node.removeChild /ja/docs/Web/API/Node/removeChild /ja/docs/Web/API/Node.replaceChild /ja/docs/Web/API/Node/replaceChild /ja/docs/Web/API/Node.textContent /ja/docs/Web/API/Node/textContent -/ja/docs/Web/API/Node/baseURIObject /ja/docs/conflicting/Web/API/Node +/ja/docs/Web/API/Node/baseURIObject /ja/docs/Web/API/Node /ja/docs/Web/API/Node/cloneNode-old /ja/docs/orphaned/Web/API/Node/getUserData /ja/docs/Web/API/Node/firstChild-temp /ja/docs/Web/API/Node/firstChild /ja/docs/Web/API/Node/getUserData /ja/docs/orphaned/Web/API/Node/getUserData /ja/docs/Web/API/Node/innerText /ja/docs/Web/API/HTMLElement/innerText /ja/docs/Web/API/Node/localName /ja/docs/Web/API/Element/localName /ja/docs/Web/API/Node/namespaceURI /ja/docs/Web/API/Element/namespaceURI -/ja/docs/Web/API/Node/nodePrincipal /ja/docs/conflicting/Web/API/Node_378aed5ed6869e50853edbc988cf9556 +/ja/docs/Web/API/Node/nodePrincipal /ja/docs/Web/API/Node /ja/docs/Web/API/Node/prefix /ja/docs/Web/API/Element/prefix /ja/docs/Web/API/NodeList.item /ja/docs/Web/API/NodeList/item /ja/docs/Web/API/NonDocumentTypeChildNode /ja/docs/conflicting/Web/API/Element_861159909c20acebf8e506c3bb0e2f7e diff --git a/files/ja/_wikihistory.json b/files/ja/_wikihistory.json index 86f861bd90..a8efb246e9 100644 --- a/files/ja/_wikihistory.json +++ b/files/ja/_wikihistory.json @@ -48715,23 +48715,6 @@ "Okome" ] }, - "conflicting/Web/API/Node": { - "modified": "2019-03-23T23:33:08.458Z", - "contributors": [ - "SphinxKnight", - "fscholz", - "khalid32", - "ethertank" - ] - }, - "conflicting/Web/API/Node_378aed5ed6869e50853edbc988cf9556": { - "modified": "2019-03-23T23:38:34.732Z", - "contributors": [ - "fscholz", - "khalid32", - "ethertank" - ] - }, "conflicting/Web/API/URL": { "modified": "2019-03-23T23:31:44.426Z", "contributors": [ diff --git a/files/ja/conflicting/web/api/node/index.html b/files/ja/conflicting/web/api/node/index.html deleted file mode 100644 index 697cffed41..0000000000 --- a/files/ja/conflicting/web/api/node/index.html +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Node.baseURIObject -slug: conflicting/Web/API/Node -tags: - - DOM - - DOM 3 - - Gecko - - Node -translation_of: Web/API/Node -translation_of_original: Web/API/Node/baseURIObject -original_slug: Web/API/Node/baseURIObject ---- -<div>{{ApiRef}} {{Non-standard_header}}</div> - -<h2 id="Summary" name="Summary">概要</h2> - -<p><code>baseURIObject</code> は、文書の基底 URL (base URL) を示す {{Interface("nsIURI")}} オブジェクトを返します。</p> - -<p>このプロパティは、HTML 、 XUL、 SVG、 MathML 等のノード全てに存在します。但し、このプロパティの使用を試みるスクリプトが UniversalXPConnect 特権を持つ場合に限ります。</p> - -<p>基底 URL の詳細については {{domxref("Node.baseURI")}} の頁をご覧下さい。</p> - -<h2 id="Syntax" name="Syntax">構文</h2> - -<pre class="syntaxbox"><var>uriObj</var> = element.baseURIObject -</pre> - -<h2 id="Notes" name="Notes">注記</h2> - -<p>このプロパティは読取専用です。書込を試みた場合、例外がスローされます。また、このプロパティには、特権を持つコードからのみアクセス可能です。</p> - -<h2 id="Specification" name="Specification">仕様書</h2> - -<p>標準仕様書には含まれません。</p> diff --git a/files/ja/conflicting/web/api/node_378aed5ed6869e50853edbc988cf9556/index.html b/files/ja/conflicting/web/api/node_378aed5ed6869e50853edbc988cf9556/index.html deleted file mode 100644 index 53585b37f0..0000000000 --- a/files/ja/conflicting/web/api/node_378aed5ed6869e50853edbc988cf9556/index.html +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Node.nodePrincipal -slug: conflicting/Web/API/Node_378aed5ed6869e50853edbc988cf9556 -tags: - - DOM - - Gecko - - Gecko DOM Reference -translation_of: Web/API/Node -translation_of_original: Web/API/Node/nodePrincipal -original_slug: Web/API/Node/nodePrincipal ---- -<div> - {{ApiRef}}{{Non-standard_header}}</div> -<h2 id="Summary" name="Summary">概要</h2> -<p><code>nodePrincipal</code> は、ノードの現在のセキュリティ・コンテキストを表す {{interface("nsIPrincipal")}} オブジェクトを返します</p> -<p>{{note("このプロパティは、HTML 、XUL 、SVG 、MathML などの全てのノードに存在しますが、スクリプトが使用を試みた場合にのみ、 UniversalXPConnect 特権を持ちます。")}}</p> -<h2 id="Syntax" name="Syntax">構文</h2> -<pre class="syntaxbox"><var>principalObj</var> = element.nodePrincipal</pre> -<h2 id="Notes" name="Notes">注記</h2> -<p>このプロパティは読取専用です。書込みを試みた場合、例外がスローされます。また、このプロパティには特権コードからのみアクセス可能です。</p> -<h2 id="Specification" name="Specification">仕様書</h2> -<p>仕様書はありません。</p> diff --git a/files/ja/web/api/node/index.html b/files/ja/web/api/node/index.html index 1754c22129..dc20596b32 100644 --- a/files/ja/web/api/node/index.html +++ b/files/ja/web/api/node/index.html @@ -4,293 +4,315 @@ slug: Web/API/Node tags: - API - DOM - - DOM Reference + - Document + - Element - Interface - Node - Reference + - Structure + - hierarchy translation_of: Web/API/Node +browser-compat: api.Node --- -<div>{{APIRef("DOM")}}</div> +<p>{{APIRef("DOM")}}</p> -<p><strong><code>Node</code></strong> はいくつもの DOM API オブジェクトタイプが継承しているインターフェイスで、それらのさまざまなタイプを同じように扱える (同じメソッドのセットを継承する、または同じ方法でテストできる) ようにします。</p> +<p>{{Glossary("DOM")}} の <strong><code>Node</code></strong> インターフェイスは、他の多くの DOM API オブジェクトのベースとなる抽象的な基底クラスです。したがって、これらのオブジェクト型と類似しており、しばしば交換して使用することができます。抽象クラスであるため、単なる <code>Node</code> オブジェクトというものは存在しません。 <code>Node</code> の機能を実装しているオブジェクトはすべて、そのサブクラスの一つをベースにしています。最も注目すべきものは、 {{domxref("Document")}}, {{domxref("Element")}}, {{domxref("DocumentFragment")}} です。</p> -<p>以下のインターフェイスはすべて、<code>Node</code> からメソッドやプロパティを継承しています: {{domxref("Document")}}, {{domxref("Element")}}, {{domxref("Attr")}}, {{domxref("CharacterData")}} (which {{domxref("Text")}}, {{domxref("Comment")}}, and {{domxref("CDATASection")}} inherit), {{domxref("ProcessingInstruction")}}, {{domxref("DocumentFragment")}}, {{domxref("DocumentType")}}, {{domxref("Notation")}}, {{domxref("Entity")}}, {{domxref("EntityReference")}}</p> +<p>それに加えて、あらゆる種類の DOM ノードが <code>Node</code> を基底とするインターフェイスで表現されます。これには、 {{DOMxRef("Attr")}}, {{DOMxRef("CharacterData")}} + ({{DOMxRef("Text")}}, {{DOMxRef("Comment")}}, {{DOMxRef("CDATASection")}}, {{DOMxRef("ProcessingInstruction")}} がすべて既定とするもの), {{DOMxRef("DocumentType")}}, {{DOMxRef("Notation")}}, {{DOMxRef("Entity")}}, {{DOMxRef("EntityReference")}} があります。</p> -<p>これらのインターフェイスは、そのメソッドやプロパティが妥当でないときは null を返すことがあります。例外を投げることもあります - 例えば、子が存在できないノードタイプに子を追加するとき。</p> +<p>場合によっては、ベースとなる <code>Node</code> インターフェイスの特定の機能が子インターフェイスに適用されないことがあります。この場合、継承するノードは状況に応じて <code>null</code> を返したり、例外を投げたりします。例えば、子を持てないノード型に子を追加しようとすると、例外が発生します。</p> <p>{{InheritanceDiagram}}</p> -<h2 id="Properties" name="Properties">プロパティ</h2> +<h2 id="Properties">プロパティ</h2> -<p><em>親である {{domxref("EventTarget")}}</em> からプロパティを継承します。<sup>[1]</sup></p> +<p><em>以下のプロパティに加え、 <code>Node</code> は親である {{DOMxRef("EventTarget")}} からプロパティを継承しています</em>。</p> <dl> - <dt>{{domxref("Node.baseURI")}} {{readonlyInline}}</dt> - <dd>ベース URL を表す {{domxref("DOMString")}} を返します。ベース URL の概念は、言語によって変わります。HTML ではプロトコル、ドメイン名、ディレクトリー構造に対応しており、最後の <code>'/'</code> までのすべてになります。</dd> - <dt>{{domxref("Node.baseURIObject")}} {{Non-standard_inline}}</dt> - <dd>(ウェブコンテンツでは使用できません) 要素のベース URI を表す、読み取り専用の {{Interface("nsIURI")}} オブジェクトを返します。</dd> - <dt>{{domxref("Node.childNodes")}} {{readonlyInline}}</dt> - <dd>このノードのすべての子孫を含む、生きている {{domxref("NodeList")}} を返します。{{domxref("NodeList")}} が生きているとは、<code>Node</code> の子が変化すれば自動的に {{domxref("NodeList")}} オブジェクトが更新されることを意味します。</dd> - <dt>{{domxref("Node.firstChild")}} {{readonlyInline}}</dt> - <dd>ノードの直下の最初の子ノードを表す {{domxref("Node")}} を返します。子が存在しなければ <code>null</code> を返します。</dd> - <dt>{{domxref("Node.isConnected")}} {{readonlyInline}}</dt> - <dd>ノードが(直接/関節的に)コンテキストオブジェクトに接続されているかを示す論理値。例えば通常の DOM の場合は {{domxref("Document")}} オブジェクト、あるいはシャドーDOM の場合は {{domxref("ShadowRoot")}}。</dd> - <dt>{{domxref("Node.lastChild")}} {{readonlyInline}}</dt> - <dd>ノードの直下の最後の子ノードを表す {{domxref("Node")}} を返します。子が存在しなければ <code>null</code> を返します。</dd> - <dt>{{domxref("Node.nextSibling")}} {{readonlyInline}}</dt> - <dd>ツリー構造で次のノードを表す {{domxref("Node")}} を返します。該当するノードがない場合は <code>null</code> を返します。</dd> - <dt>{{domxref("Node.nodeName")}} {{readonlyInline}}</dt> - <dd><code>Node</code> の名前を持つ {{domxref("DOMString")}} を返します。名前の構造は、ノードの型によって異なります。例えば、{{domxref("HTMLElement")}} は {{domxref("HTMLAudioElement")}} に対して <code>'audio'</code> というように対応するタグの名前、{{domxref("Text")}} ノードは <code>'#text'</code> という文字列、{{domxref("Document")}} ノードは <code>'#document'</code> という文字列になります。</dd> - <dt>{{domxref("Node.nodePrincipal")}} {{Non-standard_inline}}</dt> - <dd>ノードのプリンシパルを表す {{Interface("nsIPrincipal")}} を返します。</dd> - <dt>{{domxref("Node.nodeType")}}{{readonlyInline}}</dt> - <dd>ノードの型を表す <code>unsigned short</code> を返します。使用できる値: - <table class="standard-table"> - <tbody> - <tr> - <th scope="col">名称</th> - <th scope="col">値</th> - </tr> - <tr> - <td><code>ELEMENT_NODE</code></td> - <td><code>1</code></td> - </tr> - <tr> - <td><code>ATTRIBUTE_NODE</code> {{deprecated_inline}}</td> - <td><code>2</code></td> - </tr> - <tr> - <td><code>TEXT_NODE</code></td> - <td><code>3</code></td> - </tr> - <tr> - <td><code>CDATA_SECTION_NODE</code> {{deprecated_inline}}</td> - <td><code>4</code></td> - </tr> - <tr> - <td><code>ENTITY_REFERENCE_NODE</code> {{deprecated_inline}}</td> - <td><code>5</code></td> - </tr> - <tr> - <td><code>ENTITY_NODE</code> {{deprecated_inline}}</td> - <td><code>6</code></td> - </tr> - <tr> - <td><code>PROCESSING_INSTRUCTION_NODE</code></td> - <td><code>7</code></td> - </tr> - <tr> - <td><code>COMMENT_NODE</code></td> - <td><code>8</code></td> - </tr> - <tr> - <td><code>DOCUMENT_NODE</code></td> - <td><code>9</code></td> - </tr> - <tr> - <td><code>DOCUMENT_TYPE_NODE</code></td> - <td><code>10</code></td> - </tr> - <tr> - <td><code>DOCUMENT_FRAGMENT_NODE</code></td> - <td><code>11</code></td> - </tr> - <tr> - <td><code>NOTATION_NODE</code> {{deprecated_inline}}</td> - <td><code>12</code></td> - </tr> - </tbody> - </table> - </dd> - <dt>{{domxref("Node.nodeValue")}}</dt> - <dd>カレントノードの値を取得または設定します。</dd> - <dt>{{domxref("Node.ownerDocument")}} {{readonlyInline}}</dt> - <dd>ノードが所属する {{domxref("Document")}} を返します。ノードが document 自身の場合は、<code>null</code> を返します。</dd> - <dt>{{domxref("Node.parentNode")}} {{readonlyInline}}</dt> - <dd>このノードの親の {{domxref("Node")}} を返します。ノードがツリーの最上位である、あるいはツリーに加わっていないなど、親が存在しない場合は <code>null</code> を返します。</dd> - <dt>{{domxref("Node.parentElement")}} {{readonlyInline}}</dt> - <dd>このノードの親の {{domxref("Element")}} を返します。ノードに親が存在しない、あるいは親が {{domxref("Element")}} ではない場合は、<code>null</code> を返します。</dd> - <dt>{{domxref("Node.previousSibling")}} {{readonlyInline}}</dt> - <dd>ツリー構造で前のノードを表す {{domxref("Node")}} を返します。該当するノードがない場合は <code>null</code> を返します。</dd> - <dt>{{domxref("Node.textContent")}}</dt> - <dd>要素や要素のすべての子孫のテキストコンテンツを取得または設定します。</dd> + <dt>{{DOMxRef("Node.baseURI")}}{{ReadOnlyInline}}</dt> + <dd>この <code>Node</code> を持つ文書のベース URL を表す {{DOMxRef("DOMString")}} を返します。</dd> + <dt>{{DOMxRef("Node.childNodes")}}{{ReadOnlyInline}}</dt> + <dd>このノードのすべての子孫 (要素、テキスト、コメント) を持つ、生きた {{DOMxRef("NodeList")}} を返します。 {{DOMxRef("NodeList")}} が生きているとは、<code>Node</code> の子が変化すれば自動的に {{DOMxRef("NodeList")}} オブジェクトが更新されることを意味します。</dd> + <dt>{{DOMxRef("Node.firstChild")}}{{ReadOnlyInline}}</dt> + <dd>ノードの直下の最初の子ノードを表す {{DOMxRef("Node")}} を返します。子が存在しなければ <code>null</code> を返します。</dd> + <dt>{{DOMxRef("Node.isConnected")}}{{ReadOnlyInline}}</dt> + <dd>論理値で、ノードが (直接/間接的に) コンテキストオブジェクト、例えば、通常の DOM の場合は {{DOMxRef("Document")}} オブジェクト、あるいはシャドー DOM の場合は {{DOMxRef("ShadowRoot")}} に接続されているかどうかを示します。</dd> + <dt>{{DOMxRef("Node.lastChild")}}{{ReadOnlyInline}}</dt> + <dd>ノードの直下の最後の子ノードを表す {{DOMxRef("Node")}} を返します。子が存在しなければ <code>null</code> を返します。</dd> + <dt>{{DOMxRef("Node.nextSibling")}}{{ReadOnlyInline}}</dt> + <dd>ツリー構造で次のノードを表す {{DOMxRef("Node")}} を返します。該当するノードがない場合は <code>null</code> を返します。</dd> + <dt>{{DOMxRef("Node.nodeName")}}{{ReadOnlyInline}}</dt> + <dd><code>Node</code> の名前を持つ {{DOMxRef("DOMString")}} を返します。名前の構造は、ノードの型によって異なります。例えば、{{DOMxRef("HTMLElement")}} は {{DOMxRef("HTMLAudioElement")}} に対して <code>'audio'</code> というように対応するタグの名前、{{DOMxRef("Text")}} ノードは <code>'#text'</code> という文字列、{{DOMxRef("Document")}} ノードは <code>'#document'</code> という文字列になります。</dd> + <dt>{{DOMxRef("Node.nodeType")}}{{ReadOnlyInline}}</dt> + <dd>ノードの型を表す <code>unsigned short</code> を返します。使用できる値は次の通りです。 + <table class="standard-table"> + <thead> + <tr> + <th scope="col">名称</th> + <th scope="col">値</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>ELEMENT_NODE</code></td> + <td><code>1</code></td> + </tr> + <tr> + <td><code>ATTRIBUTE_NODE</code> {{Deprecated_Inline}}</td> + <td><code>2</code></td> + </tr> + <tr> + <td><code>TEXT_NODE</code></td> + <td><code>3</code></td> + </tr> + <tr> + <td><code>CDATA_SECTION_NODE</code></td> + <td><code>4</code></td> + </tr> + <tr> + <td><code>ENTITY_REFERENCE_NODE</code> {{Deprecated_Inline}}</td> + <td><code>5</code></td> + </tr> + <tr> + <td><code>ENTITY_NODE</code> {{Deprecated_Inline}}</td> + <td><code>6</code></td> + </tr> + <tr> + <td><code>PROCESSING_INSTRUCTION_NODE</code></td> + <td><code>7</code></td> + </tr> + <tr> + <td><code>COMMENT_NODE</code></td> + <td><code>8</code></td> + </tr> + <tr> + <td><code>DOCUMENT_NODE</code></td> + <td><code>9</code></td> + </tr> + <tr> + <td><code>DOCUMENT_TYPE_NODE</code></td> + <td><code>10</code></td> + </tr> + <tr> + <td><code>DOCUMENT_FRAGMENT_NODE</code></td> + <td><code>11</code></td> + </tr> + <tr> + <td><code>NOTATION_NODE</code> {{Deprecated_Inline}}</td> + <td><code>12</code></td> + </tr> + </tbody> + </table> + </dd> + <dt>{{DOMxRef("Node.nodeValue")}}</dt> + <dd>現在のノードの値を取得または設定します。</dd> + <dt>{{DOMxRef("Node.ownerDocument")}}{{ReadOnlyInline}}</dt> + <dd>ノードが所属する {{DOMxRef("Document")}} を返します。ノードが document 自身の場合は、<code>null</code> を返します。</dd> + <dt>{{DOMxRef("Node.parentNode")}}{{ReadOnlyInline}}</dt> + <dd>このノードの親の {{DOMxRef("Node")}} を返します。ノードがツリーの最上位である、あるいはツリーに加わっていないなど、親が存在しない場合は <code>null</code> を返します。</dd> + <dt>{{DOMxRef("Node.parentElement")}}{{ReadOnlyInline}}</dt> + <dd>このノードの親の {{DOMxRef("Element")}} を返します。ノードに親が存在しない、あるいは親が {{DOMxRef("Element")}} ではない場合は、<code>null</code> を返します。</dd> + <dt>{{DOMxRef("Node.previousSibling")}}{{ReadOnlyInline}}</dt> + <dd>ツリー構造で前のノードを表す {{DOMxRef("Node")}} を返します。該当するノードがない場合は <code>null</code> を返します。</dd> + <dt>{{DOMxRef("Node.textContent")}}</dt> + <dd>要素や要素のすべての子孫のテキストコンテンツを取得または設定します。</dd> </dl> -<h3 id="Deprecated_properties" name="Deprecated_properties">非推奨プロパティ</h3> +<h2 id="Methods">メソッド</h2> + +<p><em>以下のプロパティに加えて、親である {{DOMxRef("EventTarget")}} からメソッドを継承しています。</em></p> <dl> - <dt>{{domxref("Node.rootNode")}} {{readOnlyInline}} {{deprecated_inline}}</dt> - <dd>ツリーの最上位ノードを表す {{domxref("Node")}} オブジェクトを返します。自身がツリーの最上位ノードである場合はカレントノードを返します。これは {{domxref("Node.getRootNode()")}} に置き換えられました。</dd> + <dt>{{DOMxRef("Node.appendChild()", "Node.appendChild(<var>childNode</var>)")}}</dt> + <dd>現在のノードの最後の子として、指定した childNode 引数を追加します。<br> + 引数が DOM ツリー上の既存のノードを参照している場合は、ノードが現在の位置から外されて新しい位置に追加されます。</dd> + <dt>{{DOMxRef("Node.cloneNode()")}}</dt> + <dd>{{DOMxRef("Node")}} を複製します。また、すべての内容物を複製することもできます。既定で、ノードの内容物を複製します。</dd> + <dt>{{DOMxRef("Node.compareDocumentPosition()")}}</dt> + <dd>現在のノードの位置を、他のドキュメント内の別のノードと比較します。</dd> + <dt>{{DOMxRef("Node.contains()")}}</dt> + <dd>ノードが指定したノードの子孫であるか否かを <code>true</code> または <code>false</code> の値で返します。</dd> + <dt>{{domxref("Node.getBoxQuads()")}} {{experimental_inline}}</dt> + <dd>このノードの CSS ボックスのうち、他のノードに関連するもののリストを返します。</dd> + <dt>{{DOMxRef("Node.getRootNode()")}}</dt> + <dd>コンテキストオブジェクトのルートを返します。任意で、シャドウルートが使用可能である場合にそれを含めることができます。</dd> + <dt>{{DOMxRef("Node.hasChildNodes()")}}</dt> + <dd>要素が子ノードを持っているか否かを示す {{jsxref("Boolean")}} を返します。</dd> + <dt>{{DOMxRef("Node.insertBefore()")}}</dt> + <dd>現在のノードの子として、参照先ノードの前に {{DOMxRef("Node")}} を挿入します。</dd> + <dt>{{DOMxRef("Node.isDefaultNamespace()")}}</dt> + <dd>引数として名前空間の URI を受け入れて、名前空間が指定したノードのデフォルトの名前空間であれば <code>true</code>、そうでない場合は <code>false</code> である {{jsxref("Boolean")}} を返します。</dd> + <dt>{{DOMxRef("Node.isEqualNode()")}}</dt> + <dd>2 つのノードが同じ型であり、定義されているすべてのデータポイントが一致するか否かを表す {{jsxref("Boolean")}}を返します。</dd> + <dt>{{DOMxRef("Node.isSameNode()")}}</dt> + <dd>2 つのノードが同じである (すなわち、同じオブジェクトを参照している) か否かを示す {{jsxref("Boolean")}} 値を返します。</dd> + <dt>{{DOMxRef("Node.lookupPrefix()")}}</dt> + <dd>指定した名前空間 URI の接頭辞があれば、その接頭辞を含む {{DOMxRef("DOMString")}} を返します。接頭辞がない場合は <code>null</code> を返します。複数の接頭辞があった場合の結果は実装依存です。</dd> + <dt>{{DOMxRef("Node.lookupNamespaceURI()")}}</dt> + <dd>接頭辞を受け入れて、指定したノードで接頭辞が関連付けられた名前空間が見つかった場合は名前空間の URI を返します (見つからない場合は <code>null</code> を返します)。接頭辞として <code>null</code> を与えると、デフォルトの名前空間を返します。</dd> + <dt>{{DOMxRef("Node.normalize()")}}</dt> + <dd>要素内のすべてのテキストノードをクリーンアップ (隣接ノードを統合、空のノードを削除) します。</dd> + <dt>{{DOMxRef("Node.removeChild()")}}</dt> + <dd>現在の要素から子ノードを削除します。現在の要素は現在のノードの子であることが必要です。</dd> + <dt>{{DOMxRef("Node.replaceChild()")}}</dt> + <dd>現在のノードの子 {{DOMxRef("Node")}} のひとつを、引数で指定した別のノードで置き換えます。</dd> </dl> -<h3 id="Obsolete_properties" name="Obsolete_properties">廃止プロパティ</h3> +<h3 id="Obsolete_methods">廃止メソッド</h3> <dl> - <dt>{{domxref("Node.localName")}} {{obsolete_inline}}{{readonlyInline}}</dt> - <dd>要素の修飾名のローカル部分を表す {{domxref("DOMString")}} を返します。 - <div class="note"> - <p><strong>注記:</strong> Firefox 3.5 および以前のバージョンでは、このプロパティで HTML 要素のローカル名が大文字でした (XHTML 要素を除く)。以降のバージョンではこのようになりませんので、このプロパティでは HTML および XHTML の両方が小文字になります。{{gecko_minversion_inline("1.9.2")}}</p> - </div> - </dd> - <dt>{{domxref("Node.namespaceURI")}} {{obsolete_inline}}{{readonlyInline}}</dt> - <dd>ノードの名前空間の URI。名前空間がない場合は <code>null</code> になります。 - <div class="note"> - <p><strong>注記:</strong> Firefox 3.5 および以前のバージョンでは、HTML 要素の名前空間はありません。以降のバージョンでは、HTML 要素は HTML ツリーおよび XML ツリーで <code><a class="linkification-ext external" href="https://www.w3.org/1999/xhtml/" title="Linkification: http://www.w3.org/1999/xhtml">https://www.w3.org/1999/xhtml/</a></code> 名前空間内に存在します。{{gecko_minversion_inline("1.9.2")}}</p> - </div> - </dd> - <dt>{{domxref("Node.prefix")}} {{obsolete_inline}}{{readonlyInline}}</dt> - <dd>ノードの名前空間の接頭辞を表す {{domxref("DOMString")}} を返します。接頭辞が指定されていない場合は <code>null</code> を返します。</dd> + <dt>{{DOMxRef("Node.hasAttributes()")}} {{deprecated_inline}}</dt> + <dd>要素がなんらかの属性を持っているか否かを <code>true</code> または <code>false</code> で返します。</dd> + <dt>{{DOMxRef("Node.isSupported()")}} {{deprecated_inline}}</dt> + <dd>DOM 実装が特定の機能を実装しており、またその機能が指定したノードでサポートされているかを確認して、その結果を <code>true</code> または <code>false</code> で返します。</dd> </dl> -<h2 id="Methods" name="Methods">メソッド</h2> +<h2 id="Examples">例</h2> -<p><em>親である {{domxref("EventTarget")}}</em> からメソッドを継承します。<sup>[1]</sup></p> +<h3 id="Remove_all_children_nested_within_a_node">ノード内にあるすべての子を削除 +</h3> -<dl> - <dt>{{domxref("Node.appendChild()")}}</dt> - <dd>カレントノードの最後の子として、指定した childNode 引数を追加します。<br> - 引数が DOM ツリー上の既存のノードを参照している場合は、ノードが現在の位置から外されて新しい位置に追加されます。</dd> - <dt>{{domxref("Node.cloneNode()")}}</dt> - <dd>{{domxref("Node")}} を複製します。また、すべての内容物を複製することもできます。デフォルトで、ノードの内容物を複製します。</dd> - <dt>{{domxref("Node.compareDocumentPosition()")}}</dt> - <dd>カレントノードの位置を、他のドキュメント内の別のノードと比較します。</dd> - <dt>{{domxref("Node.contains()")}}</dt> - <dd>ノードが指定したノードの子孫であるか否かを示す {{jsxref("Boolean")}} 値を返します。</dd> - <dt>{{domxref("Node.getRootNode()")}}</dt> - <dd>コンテキストオブジェクトのルートを返します。任意で、shadow root が使用可能である場合にそれを含めることができます。</dd> - <dt>{{domxref("Node.hasChildNodes()")}}</dt> - <dd>要素が子ノードを持っているか否かを示す {{jsxref("Boolean")}} を返します。</dd> - <dt>{{domxref("Node.insertBefore()")}}</dt> - <dd>カレントノードの子として、参照先ノードの前に {{domxref("Node")}} を挿入します。</dd> - <dt>{{domxref("Node.isDefaultNamespace()")}}</dt> - <dd>引数として名前空間の URI を受け入れて、名前空間が指定したノードのデフォルトの名前空間であれば <code>true</code>、そうでない場合は <code>false</code> である {{jsxref("Boolean")}} を返します。</dd> - <dt>{{domxref("Node.isEqualNode()")}}</dt> - <dd>2 つのノードが同じ型であり、定義されているすべてのデータポイントが一致するか否かを表す {{jsxref("Boolean")}}を返します。</dd> - <dt>{{domxref("Node.isSameNode()")}}</dt> - <dd>2 つのノードが同じである (すなわち、同じオブジェクトを参照している) か否かを示す {{jsxref("Boolean")}} 値を返します。</dd> - <dt>{{domxref("Node.lookupPrefix()")}}</dt> - <dd>指定した名前空間 URI の接頭辞があれば、その接頭辞を含む {{domxref("DOMString")}} を返します。接頭辞がない場合は <code>null</code> を返します。複数の接頭辞がある場合の結果は実装依存です。</dd> - <dt>{{domxref("Node.lookupNamespaceURI()")}}</dt> - <dd>接頭辞を受け入れて、指定したノードで接頭辞が関連付けられた名前空間が見つかった場合は名前空間の URI を返します (見つからない場合は <code>null</code> を返します)。接頭辞として <code>null</code> を与えると、デフォルトの名前空間を返します。</dd> - <dt>{{domxref("Node.normalize()")}}</dt> - <dd>要素内のすべてのテキストノードをクリーンアップ (隣接ノードを統合、空のノードを削除) します。</dd> - <dt>{{domxref("Node.removeChild()")}}</dt> - <dd>カレント要素から子ノードを削除します。カレント要素はカレントノードの子であることが必要です。</dd> - <dt>{{domxref("Node.replaceChild()")}}</dt> - <dd>カレントノードの子 {{domxref("Node")}} のひとつを、引数で指定した別のノードで置き換えます。</dd> -</dl> +<pre class="brush: js">function removeAllChildren(element) { + while (element.firstChild) { + element.removeChild(element.firstChild) + } +}</pre> -<h3 id="Obsolete_methods" name="Obsolete_methods">廃止メソッド</h3> +<h4 id="Sample_usage">単純な使用方法</h4> -<dl> - <dt>{{domxref("Node.getFeature()")}} {{obsolete_inline}}</dt> - <dd>x</dd> - <dt>{{domxref("Node.getUserData()")}} {{obsolete_inline}}</dt> - <dd>ユーザーが、ノードから {{domxref("DOMUserData")}} を取得できます。</dd> - <dt>{{domxref("Node.hasAttributes()")}} {{obsolete_inline}}</dt> - <dd>要素がなんらかの属性を持っているか否かを示す {{jsxref("Boolean")}} を返します。</dd> - <dt>{{domxref("Node.isSupported()")}} {{obsolete_inline}}</dt> - <dd>DOM 実装が特定の機能を実装しており、またその機能が指定したノードでサポートされているかを確認して、その結果を表す {{jsxref("Boolean")}} を返します。</dd> - <dt>{{domxref("Node.setUserData()")}} {{obsolete_inline}}</dt> - <dd>ユーザーが、ノードに {{domxref("DOMUserData")}} を追加または削除できます。</dd> -</dl> +<pre class="brush: js">/* Note: or use document.body.textContent = "" */ +removeAllChildren(document.body)</pre> -<h2 id="Examples" name="Examples">例</h2> +<h3 id="Recurse_through_child_nodes">すべての子ノードを走査する</h3> -<h3 id="Browse_all_child_nodes" name="Browse_all_child_nodes">すべての子ノードを走査する</h3> +<p>次の関数は、ルートノードに含まれる (ルートノード自身も含めた) すべてのノードに対してコールバック関数を再帰的に呼び出します。</p> -<p>次の関数はすべての子ノードを再帰的にループして、それらに対してコールバック関数を呼び出します。(また、親ノード自身に対しても同様に呼び出されます。</p> +<pre class="brush: js">function eachNode(rootNode, callback) { + if (!callback) { + const nodes = [] + eachNode(rootNode, function(node) { + nodes.push(node) + }) + return nodes + } -<pre class="brush: js">function DOMComb (oParent, oCallback) { - if (oParent.hasChildNodes()) { - for (var oNode = oParent.firstChild; oNode; oNode = oNode.nextSibling) { - DOMComb(oNode, oCallback); - } + if (false === callback(rootNode)) { + return false } - oCallback.call(oParent); -}</pre> -<h4 id="Syntax" name="Syntax">構文</h4> + if (rootNode.hasChildNodes()) { + const nodes = rootNode.childNodes + for (let i = 0, l = nodes.length; i < l; ++i) { + if (false === eachNode(nodes[i], callback)) { + return + } + } + } +} +</pre> + +<h4 id="Syntax">構文</h4> + +<pre + class="brush: js">eachNode(<var>rootNode</var>, <var>callback</var>)</pre> + +<h4 id="Description">解説</h4> -<pre class="syntaxbox">DOMComb(parentNode, callbackFunction);</pre> +<p><code><var>rootNode</var></code> の (ルート自身を含む) 各子孫ノードに対して、関数を再帰的に呼び出します。</p> -<h4 id="Description" name="Description">説明</h4> +<p><code><var>callback</var></code> +が省略された場合、この関数は代わりに {{jsxref("Array")}} を返し、そこには <code><var>rootNode</var></code> とその中に含まれるすべてのノードが含まれます。</p> -<p><code>parentNode</code> のすべての子ノードと <code>parentNode</code> 自身を再帰的にループして、それらを <a href="/ja/docs/JavaScript/Reference/Operators/this" title="JavaScript/Reference/Operators/this"><code>this</code></a> オブジェクトとして <code>callbackFunction</code> を実行します。</p> +<p><code><var>callback</var></code> が提供され、 <code>false</code> を返した場合、現在の再帰レベルは中止され、関数は最後の親のレベルから実行を再開します。これは、 (特定の文字列を含むテキストノードを検索するなどして) ノードが見つかった時点でループを中止するために利用できます。 +</p> -<h4 id="Parameters" name="Parameters">引数</h4> +<h4 id="Parameters">引数</h4> <dl> - <dt><code>parentNode</code></dt> - <dd>親ノード (<code><strong>Node</strong> <a href="/ja/docs/JavaScript/Reference/Global_Objects/Object" title="JavaScript/Reference/Global_Objects/Object">Object</a></code>)</dd> - <dt><code>callbackFunction</code></dt> - <dd>コールバック関数 (<a href="/ja/docs/JavaScript/Reference/Global_Objects/Function" title="JavaScript/Reference/Global_Objects/Function"><code>Function</code></a>)</dd> + <dt><code><var>rootNode</var></code></dt> + <dd>再帰的に子孫の走査を行う <code>Node</code> オブジェクトです。</dd> + <dt><code><var>callback</var></code> {{optional_inline}}</dt> + <dd>省略可能なコールバック<a + href="/ja/docs/Web/JavaScript/Reference/Global_Objects/Function">関数</a>で、単一の <code>Node</code> を引数として受け取るものです。省略された場合、 <code>eachNode</code> は {{jsxref("Array")}} で、 <code><var>rootNode</var></code> の中に含まれる (ルート自身も含む) ノードの一覧を返します。</dd> </dl> -<h4 id="Sample_usage" name="Sample_usage">用例</h4> +<h4 id="Sample_usage_2">単純な使用</h4> -<p>次の例はボディの中のテキストの内容を <code>console.log</code> に送るものです:</p> +<p>以下の例は、<code>"box"</code> という名前の <code><div></code> 要素の中にあるそれぞれの <code><span></code> 要素の <a href="/ja/docs/Web/API/Node/textContent"><code>textContent</code></a> プロパティを出力します。</p> -<pre class="brush: js">function printContent () { - if (this.nodeValue) { console.log(this.nodeValue); } -} +<pre class="brush: html"><div id="box"> + <span>Foo</span> + <span>Bar</span> + <span>Baz</span> +</div></pre> + +<pre class="brush: js">const box = document.getElementById("box") +eachNode(box, function(node) { + if (null != node.textContent) { + console.log(node.textContent) + } +})</pre> + +<p>上記の例は、ユーザーのコンソールに以下の文字列を結果として出力します。</p> + +<pre class="brush: js">"\n\t", "Foo", "\n\t", "Bar", "\n\t", "Baz"</pre> + +<div class="notecard note"> + <p><strong>注:</strong> ホワイトスペースは {{DOMxRef("Text")}} ノードの一部を形成し、インデントと改行は独立した <code>Text</code> を <code>Element</code> ノードの間に形成します。</p> +</div> + +<h4 id="Realistic_usage">実際の使い方</h4> + +<p>次の例は <code>eachNode()</code> 関数の現実世界での使用方法として、ウェブページ上のテキストの検索を示します。</p> + +<p>検索には <code>grep</code> というラッパー関数を使用しています。</p> + +<pre class="brush: js">function grep(parentNode, pattern) { + const matches = [] + let endScan = false + + eachNode(parentNode, function(node){ + if (endScan) { + return false + } + + // Ignore anything which isn't a text node + if (node.nodeType !== Node.TEXT_NODE) { + return + } + + if (typeof pattern === "string") { + if (-1 !== node.textContent.indexOf(pattern)) { + matches.push(node) + } + } + else if (pattern.test(node.textContent)) { + if (!pattern.global) { + endScan = true + matches = node + } + else { + matches.push(node) + } + } + }) + + return matches +}</pre> + +<p>For example, to find {{DOMxRef("Text")}} nodes that contain typos:</p> + +<pre class="brush: js">const typos = ["teh", "adn", "btu", "adress", "youre", "msitakes"] +const pattern = new RegExp("\\b(" + typos.join("|") + ")\\b", "gi") +const mistakes = grep(document.body, pattern) +console.log(mistakes) +</pre> + +<h2 id="Specifications">仕様書</h2> + +{{Specifications}} + +<h2 id="Browser_compatibility">ブラウザーの互換性</h2> -onload = function () { - DOMComb(document.body, printContent); -};</pre> - -<h3 id="Remove_all_children_nested_within_a_node" name="Remove_all_children_nested_within_a_node">ノードに内包されているすべての子ノードを削除する</h3> - -<pre class="brush: js">Element.prototype.removeAll = function () { - while (this.firstChild) { this.removeChild(this.firstChild); } - return this; -};</pre> - -<h4 id="Sample_usage_2" name="Sample_usage_2">使用例</h4> - -<pre class="brush: js">/* ... an alternative to document.body.innerHTML = "" ... */ -document.body.removeAll();</pre> - -<h2 id="Specifications" name="Specifications">仕様</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">仕様書</th> - <th scope="col">策定状況</th> - <th scope="col">コメント</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('DOM WHATWG', '#interface-node', 'Node')}}</td> - <td>{{Spec2('DOM WHATWG')}}</td> - <td>以下のプロパティを削除: <code>attributes</code>、<code>namespaceURI</code>、<code>prefix</code>、<code>localName</code>。<br> - 以下のメソッドを削除: <code>isSupported()</code>、<code>hasAttributes()</code>、<code>getFeature()</code>、<code>setUserData()</code>、<code>getUserData()</code>。</td> - </tr> - <tr> - <td>{{SpecName('DOM3 Core', 'core.html#ID-1950641247', 'Node')}}</td> - <td>{{Spec2('DOM3 Core')}}</td> - <td>{{domxref("Document")}} で <code>insertBefore()</code>、<code>replaceChild()</code>、<code>removeChild()</code>、<code>appendChild()</code> メソッドを呼び出すと、もうひとつの種類のエラー (<code>NOT_SUPPORTED_ERR</code>) を返します。<br> - <code>normalize()</code> メソッドを、適切な {{domxref("DOMConfiguration")}} フラグが設定されていれば {{domxref("Text")}} ノードも正規化できるように変更。<br> - 以下のメソッドを追加: <code>compareDocumentPosition()</code>、<code>isSameNode()</code>、<code>lookupPrefix()</code>、<code>isDefaultNamespace()</code>、<code>lookupNamespaceURI()</code>、<code>isEqualNode()</code>、<code>getFeature()</code>、<code>setUserData()</code>、<code>getUserData()</code>。<br> - 以下のプロパティを追加: <code>baseURI</code>、<code>textContent</code>。</td> - </tr> - <tr> - <td>{{SpecName('DOM2 Core', 'core.html#ID-1950641247', 'Node')}}</td> - <td>{{Spec2('DOM2 Core')}}</td> - <td><code>ownerDocument</code> プロパティを、{{domxref("DocumentFragment")}} が <code>null</code> も返すように若干変更。<br> - 以下のプロパティを追加: <code>namespaceURI</code>、<code>prefix</code>、<code>localName</code>。<br> - 以下のメソッドを追加: <code>normalize()</code>、<code>isSupported()</code>、<code>hasAttributes()</code>。</td> - </tr> - <tr> - <td>{{SpecName('DOM1', 'level-one-core.html#ID-1950641247', 'Node')}}</td> - <td>{{Spec2('DOM1')}}</td> - <td>初期定義</td> - </tr> - </tbody> -</table> - -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザー実装状況</h2> - -<p>{{Compat("api.Node")}}</p> +<p>{{Compat}}</p> |