NodeIterator
インターフェイスは、DOM のサブツリー内に存在するノードのリストのメンバーに対するイテレーターを表します。ノードは文書内に現れる順番で返されます。
構文
以下のように Document.createNodeIterator()
メソッドを用いると NodeIterator
オブジェクトを作成することができます:
const nodeIterator = document.createNodeIterator(root, whatToShow, filter);
プロパティ
このインターフェイスが継承するプロパティはありません。
NodeIterator.root
読取専用NodeIterator
を作成したときに指定したルートノードを表すNode
を返します。NodeIterator.whatToShow
読取専用-
提供しなければならない
Node
の型を表す定数で構成されるビットマスクであるunsigned long
を返します。一致しないノードはスキップされますが、その子は関連があれば含まれます。使用できる値は以下のとおりです。
定数 数値 説明 NodeFilter.SHOW_ALL
-1
(unsigned long
の最大値)すべてのノードを表示します。 NodeFilter.SHOW_ATTRIBUTE
2
属性の Attr
ノードを表示します。これはルートとしてAttr
を含むNodeIterator
を作成する場合に限り、意味があります。この場合は、イテレーションやトラバーサルの最初の位置に属性ノードが現れることを意味します。属性はほかのノードの子ではありませんので、ドキュメントツリーをトラバーサルするときは出現しません。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
を含むNodeIterator
を作成する場合に限り、意味があります。この場合は、イテレーションやトラバーサルの最初の位置にEntity
ノードが現れることを意味します。エンティティはドキュメントツリーの一部ではありませんので、ドキュメントツリーをトラバーサルするときは出現しません。NodeFilter.SHOW_ENTITY_REFERENCE
16
EntityReference
ノードを表示します。NodeFilter.SHOW_NOTATION
2048
Notation
ノードを表示します。これはルートとしてNotation
を含むNodeIterator
を作成する場合に限り、意味があります。この場合は、イテレーションやトラバーサルの最初の位置にNotation
ノードが現れることを意味します。エンティティはドキュメントツリーの一部ではありませんので、ドキュメントツリーをトラバーサルするときは出現しません。NodeFilter.SHOW_PROCESSING_INSTRUCTION
64
ProcessingInstruction
ノードを表示します。NodeFilter.SHOW_TEXT
4
Text
ノードを表示します。 NodeIterator.filter
読取専用- 関連するノードを選択するために使用した
NodeFilter
を返します。 NodeIterator.expandEntityReferences
読取専用EntityReference
を破棄するとき、同時にサブツリー全体も破棄するかを示すBoolean
です。NodeIterator.referenceNode
読取専用- イテレーターが固定されている
Node
を返します。 NodeIterator.pointerBeforeReferenceNode
読取専用NodeIterator
が前に固定されるかを示すBoolean
フラグを返します。前に固定される場合はtrue
、後に固定される場合はfalse
になります。
メソッド
このインターフェイスが継承するメソッドはありません。
NodeIterator.detach()
- この操作は no-op です。これは何も行いません。以前は
NodeIterator
を使用しなくなったことをエンジンに伝えていましたが、現在は不要です。 NodeIterator.previousNode()
- 文書内で前の
Node
を返します。ノードがない場合はnull
を返します。 NodeIterator.nextNode()
- 文書内で次の
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
The compatibility table in 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.createNodeIterator()
- 関連インターフェイス