blob: b3878363027f262160d04f5dae1a28420d875d6e (
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
|
---
title: TreeWalker
slug: Web/API/TreeWalker
tags:
- API
- DOM
translation_of: Web/API/TreeWalker
---
<div>{{APIRef("DOM")}}</div>
<p><strong><code>TreeWalker</code></strong> オブジェクトは、文書のサブツリーのノード及びその位置を表します。</p>
<p><code>TreeWalker</code> は <a href="/ja/docs/Web/API/document"><code>document</code></a> オブジェクトの {{domxref("Document.createTreeWalker()")}} メソッドを使用して作成可能です。</p>
<h2 id="Properties" name="Properties">プロパティ</h2>
<p><em>このインターフェイスが継承するプロパティはありません。</em></p>
<dl>
<dt>{{domxref("TreeWalker.root")}} {{readonlyInline}}</dt>
<dd><code>TreeWalker</code> を作成したときに指定したルートノードを表す {{domxref("Node")}} を返します。</dd>
<dt>{{domxref("TreeWalker.whatToShow")}} {{readonlyInline}}</dt>
<dd>提供しなければならない {{domxref("Node")}} の型を表す定数で構成されるビットマスクである <code>unsigned long</code> を返します。一致しないノードはスキップされますが、その子は関連があれば含まれます。使用できる値は以下のとおりです:
<table class="standard-table">
<tbody>
<tr>
<td class="header">定数</td>
<td class="header">数値</td>
<td class="header">説明</td>
</tr>
<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> {{deprecated_inline}}</td>
<td><code>2</code></td>
<td>属性の {{domxref("Attr")}} ノードを表示します。これはルートとして {{domxref("Attr")}} を含む {{domxref("TreeWalker")}} を作成する場合に限り、意味があります。この場合は、イテレーションやトラバーサルの最初の位置に属性ノードが現れることを意味します。属性はほかのノードの子ではありませんので、ドキュメントツリーをトラバーサルするときは出現しません。</td>
</tr>
<tr>
<td><code>NodeFilter.SHOW_CDATA_SECTION</code> {{deprecated_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> {{deprecated_inline}}</td>
<td><code>32</code></td>
<td>{{domxref("Entity")}} ノードを表示します。これはルートとして {{domxref("Entity")}} を含む {{domxref("TreeWalker")}} を作成する場合に限り、意味があります。この場合は、イテレーションやトラバーサルの最初の位置に {{domxref("Entity")}} ノードが現れることを意味します。エンティティはドキュメントツリーの一部ではありませんので、ドキュメントツリーをトラバーサルするときは出現しません。</td>
</tr>
<tr>
<td><code>NodeFilter.SHOW_ENTITY_REFERENCE</code> {{deprecated_inline}}</td>
<td><code>16</code></td>
<td>{{domxref("EntityReference")}} ノードを表示します。</td>
</tr>
<tr>
<td><code>NodeFilter.SHOW_NOTATION</code> {{deprecated_inline}}</td>
<td><code>2048</code></td>
<td>{{domxref("Notation")}} ノードを表示します。これはルートとして {{domxref("Notation")}} を含む {{domxref("TreeWalker")}} を作成する場合に限り、意味があります。この場合は、イテレーションやトラバーサルの最初の位置に {{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("TreeWalker.filter")}} {{readonlyInline}}</dt>
<dd>関連するノードを選択するために使用した {{domxref("NodeFilter")}} を返します。</dd>
<dt>{{domxref("TreeWalker.expandEntityReferences")}} {{readonlyInline}}{{obsolete_inline}}</dt>
<dd>{{domxref("EntityReference")}} を破棄するとき、同時にサブツリー全体も破棄するかを示す {{domxref("Boolean")}} です。</dd>
<dt>{{domxref("TreeWalker.currentNode")}}</dt>
<dd><code>TreeWalker</code> の現在の位置の {{domxref("Node")}} です。</dd>
</dl>
<h2 id="Methods" name="Methods">メソッド</h2>
<p><em>このインターフェイスが継承するメソッドはありません。</em></p>
<div class="note">
<p><em>TreeWalker は可視状態の DOM ノードのみ考慮します。</em></p>
</div>
<dl>
<dt>{{domxref("TreeWalker.parentNode()")}}</dt>
<dd>現在の {{domxref("Node")}} を文書内の順序で最初の<em>可視状態である</em>祖先ノードに移動して、発見したノードを返します。また、現在のノードをこの位置に移動します。該当するノードがない、あるいはオブジェクト生成時に定義した<em>ルートノード</em>より前にある場合は、<code>null</code> を返して現在のノードは変更しません。</dd>
<dt>{{domxref("TreeWalker.firstChild()")}}</dt>
<dd>現在の {{domxref("Node")}} を現在のノードで最初の<em>可視状態である</em>子に移動して、発見した子ノードを返します。また、現在のノードをこの子ノードに移動します。該当する子がない場合は、<code>null</code> を返して現在のノードは変更しません。</dd>
<dt>{{domxref("TreeWalker.lastChild()")}}</dt>
<dd>現在の {{domxref("Node")}} を現在のノードで最後の<em>可視状態である</em>子に移動して、発見した子ノードを返します。また、現在のノードをこの子ノードに移動します。該当する子がない場合は、<code>null</code> を返して現在のノードは変更しません。</dd>
<dt>{{domxref("TreeWalker.previousSibling()")}}</dt>
<dd>現在の {{domxref("Node")}} を前の兄弟に移動して、発見した兄弟ノードを返します。該当するノードがない場合は、<code>null</code> を返して現在のノードは変更しません。</dd>
<dt>{{domxref("TreeWalker.nextSibling()")}}</dt>
<dd>現在の {{domxref("Node")}} を次の兄弟に移動して、発見した兄弟ノードを返します。該当するノードがない場合は、<code>null</code> を返して現在のノードは変更しません。</dd>
<dt>{{domxref("TreeWalker.previousNode()")}}</dt>
<dd>現在の {{domxref("Node")}} を文書内の順序で前の<em>可視状態である</em>ノードに移動して、発見したノードを返します。また、現在のノードをこの位置に移動します。該当するノードがない、あるいはオブジェクト生成時に定義した<em>ルートノード</em>より前にある場合は、<code>null</code> を返して現在のノードは変更しません。</dd>
<dt>{{domxref("TreeWalker.nextNode()")}}</dt>
<dd>現在の {{domxref("Node")}} を文書内の順序で次の<em>可視状態である</em>ノードに移動して、発見したノードを返します。また、現在のノードをこの位置に移動します。該当するノードがない場合は、<code>null</code> を返して現在のノードは変更しません。</dd>
</dl>
<h2 id="Specification" name="Specification">仕様書</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">仕様書</th>
<th scope="col">策定状況</th>
<th scope="col">コメント</th>
</tr>
<tr>
<td>{{SpecName('DOM WHATWG', '#interface-treewalker', 'TreeWalker')}}</td>
<td>{{Spec2('DOM WHATWG')}}</td>
<td><code>expandEntityReferences</code> プロパティを削除。</td>
</tr>
<tr>
<td>{{SpecName('DOM2 Traversal_Range', 'traversal.html#Traversal-TreeWalker', 'TreeWalker')}}</td>
<td>{{Spec2('DOM2 Traversal_Range')}}</td>
<td>初期定義</td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザー実装状況</h2>
<p>{{Compat("api.TreeWalker")}}</p>
<h2 id="See_also" name="See_also">関連情報</h2>
<ul>
<li>作成するメソッド: {{domxref("Document.createTreeWalker()")}}</li>
<li>関連インターフェイス: {{domxref("NodeFilter")}}, {{domxref("NodeIterator")}}</li>
</ul>
|