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

TreeWalkerdocument オブジェクトの 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 の定義
廃止された 初期定義

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung Internet
基本対応Chrome 完全対応 1Edge 完全対応 ありFirefox 完全対応 4IE 完全対応 9Opera 完全対応 9Safari 完全対応 3WebView Android 完全対応 3Chrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 9Safari iOS 完全対応 3Samsung Internet Android ?
currentNodeChrome 完全対応 1Edge 完全対応 ありFirefox 完全対応 4IE 完全対応 9Opera 完全対応 9Safari 完全対応 3WebView Android 完全対応 3Chrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 9Safari iOS 完全対応 3Samsung Internet Android ?
expandEntityReferences
非推奨
Chrome 完全対応 1Edge 完全対応 ありFirefox 未対応 4 — 21IE 完全対応 9Opera 完全対応 9Safari 完全対応 3WebView Android 完全対応 3Chrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 未対応 4 — 21Opera Android 完全対応 9Safari iOS 完全対応 3Samsung Internet Android ?
filterChrome 完全対応 1Edge 完全対応 ありFirefox 完全対応 4IE 完全対応 9Opera 完全対応 9Safari 完全対応 3WebView Android 完全対応 3Chrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 9Safari iOS 完全対応 3Samsung Internet Android ?
rootChrome 完全対応 1Edge 完全対応 ありFirefox 完全対応 4IE 完全対応 9Opera 完全対応 9Safari 完全対応 3WebView Android 完全対応 3Chrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 9Safari iOS 完全対応 3Samsung Internet Android ?
whatToShowChrome 完全対応 1Edge 完全対応 ありFirefox 完全対応 4IE 完全対応 9Opera 完全対応 9Safari 完全対応 3WebView Android 完全対応 3Chrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 9Safari iOS 完全対応 3Samsung Internet Android ?
firstChildChrome 完全対応 1Edge 完全対応 ありFirefox 完全対応 4IE 完全対応 9Opera 完全対応 9Safari 完全対応 3WebView Android 完全対応 3Chrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 9Safari iOS 完全対応 3Samsung Internet Android ?
lastChildChrome 完全対応 1Edge 完全対応 ありFirefox 完全対応 4IE 完全対応 9Opera 完全対応 9Safari 完全対応 3WebView Android 完全対応 3Chrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 9Safari iOS 完全対応 3Samsung Internet Android ?
nextNodeChrome 完全対応 1Edge 完全対応 ありFirefox 完全対応 4IE 完全対応 9Opera 完全対応 9Safari 完全対応 3WebView Android 完全対応 3Chrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 9Safari iOS 完全対応 3Samsung Internet Android ?
nextSiblingChrome 完全対応 1Edge 完全対応 ありFirefox 完全対応 4IE 完全対応 9Opera 完全対応 9Safari 完全対応 3WebView Android 完全対応 3Chrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 9Safari iOS 完全対応 3Samsung Internet Android ?
parentNodeChrome 完全対応 1Edge 完全対応 ありFirefox 完全対応 4IE 完全対応 9Opera 完全対応 9Safari 完全対応 3WebView Android 完全対応 3Chrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 9Safari iOS 完全対応 3Samsung Internet Android ?
previousNodeChrome 完全対応 1Edge 完全対応 ありFirefox 完全対応 4IE 完全対応 9Opera 完全対応 9Safari 完全対応 3WebView Android 完全対応 3Chrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 9Safari iOS 完全対応 3Samsung Internet Android ?
previousSiblingChrome 完全対応 1Edge 完全対応 ありFirefox 完全対応 4IE 完全対応 9Opera 完全対応 9Safari 完全対応 3WebView Android 完全対応 3Chrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 9Safari iOS 完全対応 3Samsung Internet Android ?

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
非推奨。新しいウェブサイトでは使用しないでください。
非推奨。新しいウェブサイトでは使用しないでください。

関連情報

ドキュメントのタグと貢献者

タグ: 
このページの貢献者: yyss, xuancanh, ethertank
最終更新者: yyss,