treeWalker

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

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

プロパティ

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

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

メソッド

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

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

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

仕様書

仕様書 策定状況 コメント
DOM
TreeWalker の定義
現行の標準 expandEntityReferences プロパティを削除。
Document Object Model (DOM) Level 2 Traversal and Range Specification
TreeWalker の定義
廃止 初期定義

ブラウザー実装状況

BCD tables only load in the browser

関連情報