NodeIterator - Web APIs 编辑

The NodeIterator interface represents an iterator over the members of a list of the nodes in a subtree of the DOM. The nodes will be returned in document order.

Syntax

A NodeIterator can be created using the Document.createNodeIterator() method, as follows:

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

Properties

This interface doesn't inherit any property.

NodeIterator.root Read only
Returns a Node representing the root node as specified when the NodeIterator was created.
NodeIterator.whatToShow Read only

Returns an unsigned long being a bitmask made of constants describing the types of Node that must to be presented. Non-matching nodes are skipped, but their children may be included, if relevant.

The possible values are:

ConstantNumerical valueDescription
NodeFilter.SHOW_ALL-1 (that is the max value of unsigned long)Shows all nodes.
NodeFilter.SHOW_ATTRIBUTE This is an obsolete API and is no longer guaranteed to work.2Shows attribute Attr nodes. This is meaningful only when creating a NodeIterator with an Attr node as its root; in this case, it means that the attribute node will appear in the first position of the iteration or traversal. Since attributes are never children of other nodes, they do not appear when traversing over the document tree.
NodeFilter.SHOW_CDATA_SECTION This is an obsolete API and is no longer guaranteed to work.8Shows CDATASection nodes.
NodeFilter.SHOW_COMMENT128Shows Comment nodes.
NodeFilter.SHOW_DOCUMENT256Shows Document nodes.
NodeFilter.SHOW_DOCUMENT_FRAGMENT1024Shows DocumentFragment nodes.
NodeFilter.SHOW_DOCUMENT_TYPE512Shows DocumentType nodes.
NodeFilter.SHOW_ELEMENT1Shows Element nodes.
NodeFilter.SHOW_ENTITY This is an obsolete API and is no longer guaranteed to work.32Shows Entity nodes. This is meaningful only when creating a NodeIterator with an Entity node as its root; in this case, it means that the Entity node will appear in the first position of the traversal. Since entities are not part of the document tree, they do not appear when traversing over the document tree.
NodeFilter.SHOW_ENTITY_REFERENCE This is an obsolete API and is no longer guaranteed to work.16Shows EntityReference nodes.
NodeFilter.SHOW_NOTATION This is an obsolete API and is no longer guaranteed to work.2048Shows Notation nodes. This is meaningful only when creating a NodeIterator with a Notation node as its root; in this case, it means that the Notation node will appear in the first position of the traversal. Since entities are not part of the document tree, they do not appear when traversing over the document tree.
NodeFilter.SHOW_PROCESSING_INSTRUCTION64Shows ProcessingInstruction nodes.
NodeFilter.SHOW_TEXT4Shows Text nodes.
NodeIterator.filter Read only
Returns a NodeFilter used to select the relevant nodes.
NodeIterator.expandEntityReferences Read only This deprecated API should no longer be used, but will probably still work.
Is a Boolean indicating if, when discarding an EntityReference its whole sub-tree must be discarded at the same time.
NodeIterator.referenceNode Read only This is an experimental API that should not be used in production code.
Returns the Node to which the iterator is anchored.
NodeIterator.pointerBeforeReferenceNode Read only This is an experimental API that should not be used in production code.
Returns a Boolean flag that indicates whether the NodeIterator is anchored before, the flag being true, or after, the flag being false, the anchor node.

Methods

This interface doesn't inherit any method.

NodeIterator.detach() This is an obsolete API and is no longer guaranteed to work.
This operation is a no-op. It doesn't do anything. Previously it was telling the engine that the NodeIterator was no more used, but this is now useless.
NodeIterator.previousNode()
Returns the previous Node in the document, or null if there are none.
NodeIterator.nextNode()
Returns the next Node in the document, or null if there are none.

Specifications

SpecificationStatusComment
DOM
The definition of 'NodeIterator' in that specification.
Living StandardAdded the referenceNode and pointerBeforeReferenceNode properties.
Removed the expandEntityReferences property.
The method detach() has been changed to be a no-op.
The methods previousNode() and nextNode() don't raise an exception any more.
Document Object Model (DOM) Level 2 Traversal and Range Specification
The definition of 'NodeIterator' in that specification.
ObsoleteInitial definition.

Browser compatibility

BCD tables only load in the browser

See also

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:48 次

字数:18056

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文