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
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
(en-US) 読取専用- 関連するノードを選択するために使用した
NodeFilter
(en-US) を返します。 NodeIterator.expandEntityReferences
読取専用 DeprecatedEntityReference
を破棄するとき、同時にサブツリー全体も破棄するかを示すBoolean
です。NodeIterator.referenceNode
(en-US) 読取専用 Experimental- イテレーターが固定されている
Node
を返します。 NodeIterator.pointerBeforeReferenceNode
(en-US) 読取専用 ExperimentalNodeIterator
が前に固定されるかを示すBoolean
フラグを返します。前に固定される場合はtrue
、後に固定される場合はfalse
になります。
メソッド
このインターフェイスが継承するメソッドはありません。
NodeIterator.detach()
(en-US)- この操作は 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
関連情報
- 作成するメソッド:
Document.createNodeIterator()
- 関連インターフェイス