--- title: TreeWalker slug: Web/API/TreeWalker tags: - API - DOM translation_of: Web/API/TreeWalker ---
{{APIRef("DOM")}}

TreeWalker オブジェクトは、文書のサブツリーのノード及びその位置を表します。

TreeWalkerdocument オブジェクトの {{domxref("Document.createTreeWalker()")}} メソッドを使用して作成可能です。

プロパティ

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

{{domxref("TreeWalker.root")}} {{readonlyInline}}
TreeWalker を作成したときに指定したルートノードを表す {{domxref("Node")}} を返します。
{{domxref("TreeWalker.whatToShow")}} {{readonlyInline}}
提供しなければならない {{domxref("Node")}} の型を表す定数で構成されるビットマスクである unsigned long を返します。一致しないノードはスキップされますが、その子は関連があれば含まれます。使用できる値は以下のとおりです:
定数 数値 説明
NodeFilter.SHOW_ALL -1 (unsigned long の最大値) すべてのノードを表示します。
NodeFilter.SHOW_ATTRIBUTE {{deprecated_inline}} 2 属性の {{domxref("Attr")}} ノードを表示します。これはルートとして {{domxref("Attr")}} を含む {{domxref("TreeWalker")}} を作成する場合に限り、意味があります。この場合は、イテレーションやトラバーサルの最初の位置に属性ノードが現れることを意味します。属性はほかのノードの子ではありませんので、ドキュメントツリーをトラバーサルするときは出現しません。
NodeFilter.SHOW_CDATA_SECTION {{deprecated_inline}} 8 {{domxref("CDATASection")}} ノードを表示します。
NodeFilter.SHOW_COMMENT 128 {{domxref("Comment")}} ノードを表示します。
NodeFilter.SHOW_DOCUMENT 256 {{domxref("Document")}} ノードを表示します。
NodeFilter.SHOW_DOCUMENT_FRAGMENT 1024 {{domxref("DocumentFragment")}} ノードを表示します。
NodeFilter.SHOW_DOCUMENT_TYPE 512 {{domxref("DocumentType")}} ノードを表示します。
NodeFilter.SHOW_ELEMENT 1 {{domxref("Element")}} ノードを表示します。
NodeFilter.SHOW_ENTITY {{deprecated_inline}} 32 {{domxref("Entity")}} ノードを表示します。これはルートとして {{domxref("Entity")}} を含む {{domxref("TreeWalker")}} を作成する場合に限り、意味があります。この場合は、イテレーションやトラバーサルの最初の位置に {{domxref("Entity")}} ノードが現れることを意味します。エンティティはドキュメントツリーの一部ではありませんので、ドキュメントツリーをトラバーサルするときは出現しません。
NodeFilter.SHOW_ENTITY_REFERENCE {{deprecated_inline}} 16 {{domxref("EntityReference")}} ノードを表示します。
NodeFilter.SHOW_NOTATION {{deprecated_inline}} 2048 {{domxref("Notation")}} ノードを表示します。これはルートとして {{domxref("Notation")}} を含む {{domxref("TreeWalker")}} を作成する場合に限り、意味があります。この場合は、イテレーションやトラバーサルの最初の位置に {{domxref("Notation")}} ノードが現れることを意味します。エンティティはドキュメントツリーの一部ではありませんので、ドキュメントツリーをトラバーサルするときは出現しません。
NodeFilter.SHOW_PROCESSING_INSTRUCTION 64 {{domxref("ProcessingInstruction")}} ノードを表示します。
NodeFilter.SHOW_TEXT 4 {{domxref("Text")}} ノードを表示します。
{{domxref("TreeWalker.filter")}} {{readonlyInline}}
関連するノードを選択するために使用した {{domxref("NodeFilter")}} を返します。
{{domxref("TreeWalker.expandEntityReferences")}} {{readonlyInline}}{{obsolete_inline}}
{{domxref("EntityReference")}} を破棄するとき、同時にサブツリー全体も破棄するかを示す {{domxref("Boolean")}} です。
{{domxref("TreeWalker.currentNode")}}
TreeWalker の現在の位置の {{domxref("Node")}} です。

メソッド

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

TreeWalker は可視状態の DOM ノードのみ考慮します。

{{domxref("TreeWalker.parentNode()")}}
現在の {{domxref("Node")}} を文書内の順序で最初の可視状態である祖先ノードに移動して、発見したノードを返します。また、現在のノードをこの位置に移動します。該当するノードがない、あるいはオブジェクト生成時に定義したルートノードより前にある場合は、null を返して現在のノードは変更しません。
{{domxref("TreeWalker.firstChild()")}}
現在の {{domxref("Node")}} を現在のノードで最初の可視状態である子に移動して、発見した子ノードを返します。また、現在のノードをこの子ノードに移動します。該当する子がない場合は、null を返して現在のノードは変更しません。
{{domxref("TreeWalker.lastChild()")}}
現在の {{domxref("Node")}} を現在のノードで最後の可視状態である子に移動して、発見した子ノードを返します。また、現在のノードをこの子ノードに移動します。該当する子がない場合は、null を返して現在のノードは変更しません。
{{domxref("TreeWalker.previousSibling()")}}
現在の {{domxref("Node")}} を前の兄弟に移動して、発見した兄弟ノードを返します。該当するノードがない場合は、null を返して現在のノードは変更しません。
{{domxref("TreeWalker.nextSibling()")}}
現在の {{domxref("Node")}} を次の兄弟に移動して、発見した兄弟ノードを返します。該当するノードがない場合は、null を返して現在のノードは変更しません。
{{domxref("TreeWalker.previousNode()")}}
現在の {{domxref("Node")}} を文書内の順序で前の可視状態であるノードに移動して、発見したノードを返します。また、現在のノードをこの位置に移動します。該当するノードがない、あるいはオブジェクト生成時に定義したルートノードより前にある場合は、null を返して現在のノードは変更しません。
{{domxref("TreeWalker.nextNode()")}}
現在の {{domxref("Node")}} を文書内の順序で次の可視状態であるノードに移動して、発見したノードを返します。また、現在のノードをこの位置に移動します。該当するノードがない場合は、null を返して現在のノードは変更しません。

仕様書

仕様書 策定状況 コメント
{{SpecName('DOM WHATWG', '#interface-treewalker', 'TreeWalker')}} {{Spec2('DOM WHATWG')}} expandEntityReferences プロパティを削除。
{{SpecName('DOM2 Traversal_Range', 'traversal.html#Traversal-TreeWalker', 'TreeWalker')}} {{Spec2('DOM2 Traversal_Range')}} 初期定義

ブラウザー実装状況

{{Compat("api.TreeWalker")}}

関連情報