NodeIterator

NodeIterator インターフェイスは、DOM のサブツリー内に存在するノードのリストのメンバーに対するイテレーターを表します。ノードは文書内に現れる順番で返されます。

構文

以下のように Document.createNodeIterator() メソッドを用いると NodeIterator オブジェクトを作成することができます:

const nodeIterator = document.createNodeIterator(root, whatToShow, filter);

プロパティ

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

NodeIterator.root (en-US) 読取専用
NodeIterator を作成したときに指定したルートノードを表す Node を返します。
NodeIterator.whatToShow (en-US) 読取専用

提供しなければならない Node の型を表す定数で構成されるビットマスクである unsigned long を返します。一致しないノードはスキップされますが、その子は関連があれば含まれます。

使用できる値は以下のとおりです。

定数 数値 説明
NodeFilter.SHOW_ALL -1 (unsigned long の最大値) すべてのノードを表示します。
NodeFilter.SHOW_ATTRIBUTE これは廃止された API であり、動作は保証されていません。 2 属性の Attr ノードを表示します。これはルートとして Attr を含む NodeIterator を作成する場合に限り、意味があります。この場合は、イテレーションやトラバーサルの最初の位置に属性ノードが現れることを意味します。属性はほかのノードの子ではありませんので、ドキュメントツリーをトラバーサルするときは出現しません。
NodeFilter.SHOW_CDATA_SECTION これは廃止された API であり、動作は保証されていません。 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 これは廃止された API であり、動作は保証されていません。 32 Entity ノードを表示します。これはルートとして Entity を含む NodeIterator を作成する場合に限り、意味があります。この場合は、イテレーションやトラバーサルの最初の位置に Entity ノードが現れることを意味します。エンティティはドキュメントツリーの一部ではありませんので、ドキュメントツリーをトラバーサルするときは出現しません。
NodeFilter.SHOW_ENTITY_REFERENCE これは廃止された API であり、動作は保証されていません。 16 EntityReference ノードを表示します。
NodeFilter.SHOW_NOTATION これは廃止された API であり、動作は保証されていません。 2048 Notation ノードを表示します。これはルートとして Notation を含む NodeIterator を作成する場合に限り、意味があります。この場合は、イテレーションやトラバーサルの最初の位置に Notation ノードが現れることを意味します。エンティティはドキュメントツリーの一部ではありませんので、ドキュメントツリーをトラバーサルするときは出現しません。
NodeFilter.SHOW_PROCESSING_INSTRUCTION 64 ProcessingInstruction (en-US) ノードを表示します。
NodeFilter.SHOW_TEXT 4 Text ノードを表示します。
NodeIterator.filter (en-US) 読取専用
関連するノードを選択するために使用した NodeFilter (en-US) を返します。
NodeIterator.expandEntityReferences (en-US) 読取専用
EntityReference を破棄するとき、同時にサブツリー全体も破棄するかを示す Boolean です。
NodeIterator.referenceNode (en-US) 読取専用
イテレーターが固定されている Node を返します。
NodeIterator.pointerBeforeReferenceNode (en-US) 読取専用
NodeIterator が前に固定されるかを示す Boolean フラグを返します。前に固定される場合は true、後に固定される場合は false になります。

メソッド

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

NodeIterator.detach() (en-US) これは廃止された API であり、動作は保証されていません。
この操作は no-op です。これは何も行いません。以前は NodeIterator を使用しなくなったことをエンジンに伝えていましたが、現在は不要です。
NodeIterator.previousNode() (en-US)
文書内で前の Node を返します。ノードがない場合は null を返します。
NodeIterator.nextNode() (en-US)
文書内で次の Node を返します。ノードがない場合は null を返します。

仕様

仕様書 策定状況 コメント
DOM
NodeIterator の定義
現行の標準 referenceNode および pointerBeforeReferenceNode プロパティを追加。
expandEntityReferences プロパティを削除。
detach() メソッドを no-op に変更。
previousNode() および nextNode() メソッドを例外が発生しないように変更。
Document Object Model (DOM) Level 2 Traversal and Range Specification
NodeIterator の定義
廃止 初期定義

ブラウザー実装状況

BCD tables only load in the browser

関連情報