TreeWalker
オブジェクトは、文書のサブツリーのノード及びその位置を表します。
TreeWalker
は document
オブジェクトの Document.createTreeWalker()
メソッドを使用して作成可能です。
プロパティ
このインターフェイスが継承するプロパティはありません。
TreeWalker.root
読取専用TreeWalker
を作成したときに指定したルートノードを表すNode
を返します。TreeWalker.whatToShow
読取専用- 提供しなければならない
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
ノードを表示します。NodeFilter.SHOW_TEXT
4
Text
ノードを表示します。 TreeWalker.filter
読取専用- 関連するノードを選択するために使用した
NodeFilter
を返します。 TreeWalker.expandEntityReferences
読取専用EntityReference
を破棄するとき、同時にサブツリー全体も破棄するかを示すBoolean
です。TreeWalker.currentNode
TreeWalker
の現在の位置のNode
です。
メソッド
このインターフェイスが継承するメソッドはありません。
TreeWalker は可視状態の DOM ノードのみ考慮します。
TreeWalker.parentNode()
- 現在の
Node
を文書内の順序で最初の可視状態である祖先ノードに移動して、発見したノードを返します。また、現在のノードをこの位置に移動します。該当するノードがない、あるいはオブジェクト生成時に定義したルートノードより前にある場合は、null
を返して現在のノードは変更しません。 TreeWalker.firstChild()
- 現在の
Node
を現在のノードで最初の可視状態である子に移動して、発見した子ノードを返します。また、現在のノードをこの子ノードに移動します。該当する子がない場合は、null
を返して現在のノードは変更しません。 TreeWalker.lastChild()
- 現在の
Node
を現在のノードで最後の可視状態である子に移動して、発見した子ノードを返します。また、現在のノードをこの子ノードに移動します。該当する子がない場合は、null
を返して現在のノードは変更しません。 TreeWalker.previousSibling()
- 現在の
Node
を前の兄弟に移動して、発見した兄弟ノードを返します。該当するノードがない場合は、null
を返して現在のノードは変更しません。 TreeWalker.nextSibling()
- 現在の
Node
を次の兄弟に移動して、発見した兄弟ノードを返します。該当するノードがない場合は、null
を返して現在のノードは変更しません。 TreeWalker.previousNode()
- 現在の
Node
を文書内の順序で前の可視状態であるノードに移動して、発見したノードを返します。また、現在のノードをこの位置に移動します。該当するノードがない、あるいはオブジェクト生成時に定義したルートノードより前にある場合は、null
を返して現在のノードは変更しません。 TreeWalker.nextNode()
- 現在の
Node
を文書内の順序で次の可視状態であるノードに移動して、発見したノードを返します。また、現在のノードをこの位置に移動します。該当するノードがない場合は、null
を返して現在のノードは変更しません。
仕様書
仕様書 | 策定状況 | コメント |
---|---|---|
DOM TreeWalker の定義 |
現行の標準 | expandEntityReferences プロパティを削除。 |
Document Object Model (DOM) Level 2 Traversal and Range Specification TreeWalker の定義 |
廃止された | 初期定義 |
ブラウザー実装状況
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
関連情報
- 作成するメソッド:
Document.createTreeWalker()
- 関連インターフェイス:
NodeFilter
,NodeIterator