aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/nodeiterator/index.html
blob: e591cba44f6356dfa07ec571289b6a82ee1a2c8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
---
title: NodeIterator
slug: Web/API/NodeIterator
tags:
  - API
  - DOM
translation_of: Web/API/NodeIterator
---
<div>{{APIRef("DOM")}}</div>

<p><span class="seoSummary"><strong><code>NodeIterator</code></strong> インターフェイスは、DOM のサブツリー内に存在するノードのリストのメンバーに対するイテレーターを表します。ノードは文書内に現れる順番で返されます。</span></p>

<h2 id="Syntax" name="Syntax">構文</h2>

<p>以下のように {{domxref("Document.createNodeIterator()")}} メソッドを用いると <code>NodeIterator</code> オブジェクトを作成することができます:</p>

<pre class="syntaxbox notranslate">const <var>nodeIterator</var> = document.createNodeIterator(<var>root</var>, <var>whatToShow</var>, <var>filter</var>);</pre>

<h2 id="Properties" name="Properties">プロパティ</h2>

<p><em>このインターフェイスが継承するプロパティはありません。</em></p>

<dl>
 <dt>{{domxref("NodeIterator.root")}} {{readonlyInline}}</dt>
 <dd><code>NodeIterator</code> を作成したときに指定したルートノードを表す {{domxref("Node")}} を返します。</dd>
 <dt>{{domxref("NodeIterator.whatToShow")}} {{readonlyInline}}</dt>
 <dd>
 <p>提供しなければならない {{domxref("Node")}} の型を表す定数で構成されるビットマスクである <code>unsigned long</code> を返します。一致しないノードはスキップされますが、その子は関連があれば含まれます。</p>

 <p>使用できる値は以下のとおりです。</p>

 <table class="standard-table">
  <thead>
   <tr>
    <td class="header">定数</td>
    <td class="header">数値</td>
    <td class="header">説明</td>
   </tr>
  </thead>
  <tbody>
   <tr>
    <td><code>NodeFilter.SHOW_ALL</code></td>
    <td><code>-1</code> (<code>unsigned long</code> の最大値)</td>
    <td>すべてのノードを表示します。</td>
   </tr>
   <tr>
    <td><code>NodeFilter.SHOW_ATTRIBUTE</code> {{obsolete_inline}}</td>
    <td><code>2</code></td>
    <td>属性の {{domxref("Attr")}} ノードを表示します。これはルートとして {{domxref("Attr")}} を含む {{domxref("NodeIterator")}} を作成する場合に限り、意味があります。この場合は、イテレーションやトラバーサルの最初の位置に属性ノードが現れることを意味します。属性はほかのノードの子ではありませんので、ドキュメントツリーをトラバーサルするときは出現しません。</td>
   </tr>
   <tr>
    <td><code>NodeFilter.SHOW_CDATA_SECTION</code> {{obsolete_inline}}</td>
    <td><code>8</code></td>
    <td>{{domxref("CDATASection")}} ノードを表示します。</td>
   </tr>
   <tr>
    <td><code>NodeFilter.SHOW_COMMENT</code></td>
    <td><code>128</code></td>
    <td>{{domxref("Comment")}} ノードを表示します。</td>
   </tr>
   <tr>
    <td><code>NodeFilter.SHOW_DOCUMENT</code></td>
    <td><code>256</code></td>
    <td>{{domxref("Document")}} ノードを表示します。</td>
   </tr>
   <tr>
    <td><code>NodeFilter.SHOW_DOCUMENT_FRAGMENT</code></td>
    <td><code>1024</code></td>
    <td>{{domxref("DocumentFragment")}} ノードを表示します。</td>
   </tr>
   <tr>
    <td><code>NodeFilter.SHOW_DOCUMENT_TYPE</code></td>
    <td><code>512</code></td>
    <td>{{domxref("DocumentType")}} ノードを表示します。</td>
   </tr>
   <tr>
    <td><code>NodeFilter.SHOW_ELEMENT</code></td>
    <td><code>1</code></td>
    <td>{{domxref("Element")}} ノードを表示します。</td>
   </tr>
   <tr>
    <td><code>NodeFilter.SHOW_ENTITY</code> {{obsolete_inline}}</td>
    <td><code>32</code></td>
    <td>{{domxref("Entity")}} ノードを表示します。これはルートとして {{domxref("Entity")}} を含む {{domxref("NodeIterator")}} を作成する場合に限り、意味があります。この場合は、イテレーションやトラバーサルの最初の位置に {{domxref("Entity")}} ノードが現れることを意味します。エンティティはドキュメントツリーの一部ではありませんので、ドキュメントツリーをトラバーサルするときは出現しません。</td>
   </tr>
   <tr>
    <td><code>NodeFilter.SHOW_ENTITY_REFERENCE</code> {{obsolete_inline}}</td>
    <td><code>16</code></td>
    <td>{{domxref("EntityReference")}} ノードを表示します。</td>
   </tr>
   <tr>
    <td><code>NodeFilter.SHOW_NOTATION</code> {{obsolete_inline}}</td>
    <td><code>2048</code></td>
    <td>{{domxref("Notation")}} ノードを表示します。これはルートとして {{domxref("Notation")}} を含む {{domxref("NodeIterator")}} を作成する場合に限り、意味があります。この場合は、イテレーションやトラバーサルの最初の位置に {{domxref("Notation")}} ノードが現れることを意味します。エンティティはドキュメントツリーの一部ではありませんので、ドキュメントツリーをトラバーサルするときは出現しません。</td>
   </tr>
   <tr>
    <td><code>NodeFilter.SHOW_PROCESSING_INSTRUCTION</code></td>
    <td><code>64</code></td>
    <td>{{domxref("ProcessingInstruction")}} ノードを表示します。</td>
   </tr>
   <tr>
    <td><code>NodeFilter.SHOW_TEXT</code></td>
    <td><code>4</code></td>
    <td>{{domxref("Text")}} ノードを表示します。</td>
   </tr>
  </tbody>
 </table>
 </dd>
 <dt>{{domxref("NodeIterator.filter")}} {{readonlyInline}}</dt>
 <dd>関連するノードを選択するために使用した {{domxref("NodeFilter")}} を返します。</dd>
 <dt>{{domxref("NodeIterator.expandEntityReferences")}} {{readonlyInline}} {{deprecated_inline}}</dt>
 <dd>{{domxref("EntityReference")}} を破棄するとき、同時にサブツリー全体も破棄するかを示す {{domxref("Boolean")}} です。</dd>
 <dt>{{domxref("NodeIterator.referenceNode")}} {{readonlyInline}} {{experimental_inline}}</dt>
 <dd>イテレーターが固定されている {{domxref("Node")}} を返します。</dd>
 <dt>{{domxref("NodeIterator.pointerBeforeReferenceNode")}} {{readonlyInline}} {{experimental_inline}}</dt>
 <dd>{{domxref("NodeIterator")}} が前に固定されるかを示す {{domxref("Boolean")}} フラグを返します。前に固定される場合は <code>true</code>、後に固定される場合は <code>false</code> になります。</dd>
</dl>

<h2 id="Methods" name="Methods">メソッド</h2>

<p><em>このインターフェイスが継承するメソッドはありません。</em></p>

<dl>
 <dt>{{domxref("NodeIterator.detach()")}} {{obsolete_inline}}</dt>
 <dd>この操作は no-op です。これは何も行いません。以前は <code>NodeIterator</code> を使用しなくなったことをエンジンに伝えていましたが、現在は不要です。</dd>
 <dt>{{domxref("NodeIterator.previousNode()")}}</dt>
 <dd>文書内で前の {{domxref("Node")}} を返します。ノードがない場合は <code>null</code> を返します。</dd>
 <dt>{{domxref("NodeIterator.nextNode()")}}</dt>
 <dd>文書内で次の {{domxref("Node")}} を返します。ノードがない場合は <code>null</code> を返します。</dd>
</dl>

<h2 id="Specification" name="Specification">仕様</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', '#nodeiterator', 'NodeIterator')}}</td>
   <td>{{Spec2('DOM WHATWG')}}</td>
   <td><code>referenceNode</code> および <code>pointerBeforeReferenceNode</code> プロパティを追加。<br>
    <code>expandEntityReferences</code> プロパティを削除。<br>
    <code>detach()</code> メソッドを no-op に変更。<br>
    <code>previousNode()</code> および <code>nextNode()</code> メソッドを例外が発生しないように変更。</td>
  </tr>
  <tr>
   <td>{{SpecName('DOM2 Traversal_Range', 'traversal.html#Iterator-overview', 'NodeIterator')}}</td>
   <td>{{Spec2('DOM2 Traversal_Range')}}</td>
   <td>初期定義</td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザー実装状況</h2>



<p>{{Compat("api.NodeIterator")}}</p>

<h2 id="See_also" name="See_also">関連情報</h2>

<ul>
 <li>作成するメソッド: {{domxref("Document.createNodeIterator()")}}</li>
 <li>関連インターフェイス
  <ul>
   <li>{{domxref("NodeFilter")}}</li>
   <li>{{domxref("TreeWalker")}}</li>
  </ul>
 </li>
</ul>