NodeIterator - Web API 接口参考 编辑

NodeIterator 接口表示一个遍历 DOM 子树中节点列表的成员的迭代器。节点将按照文档顺序返回。

NodeIterator可以使用Document.createNodeIterator() 方法创建,如下所示:

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

属性

这个接口不继承任何属性。

NodeIterator.root 只读
返回一个Node ,它代表创建 NodeIterator 时指定的根节点。
NodeIterator.whatToShow 只读
返回一个无符号长整型,它是一个由描述必须呈现的Node类型的常量构成的位掩码。不匹配的节点被跳过,但是如果相关,他们的子节点可能被包括在内。可能的值是:
ConstantNumerical valueDescription
NodeFilter.SHOW_ALL-1 (that is the max value of unsigned long)显示所有节点。
NodeFilter.SHOW_ATTRIBUTE 2显示属性 Attr 节点. 只有当用一个 Attr 节点作为根节点来创建 NodeIterator 时才有意义; 在这种情况下, 这意味着属性节点会出现在迭代或遍历的首位. 因为属性永远不会是其它节点的子节点, 当遍历整个文档树时它们不会出现.
NodeFilter.SHOW_CDATA_SECTION 8显示CDATASection 节点。
NodeFilter.SHOW_COMMENT128显示Comment 节点。
NodeFilter.SHOW_DOCUMENT256显示Document 节点。
NodeFilter.SHOW_DOCUMENT_FRAGMENT1024

显示DocumentFragment节点。

NodeFilter.SHOW_DOCUMENT_TYPE512显示DocumentType 节点。
NodeFilter.SHOW_ELEMENT1显示Element 节点。
NodeFilter.SHOW_ENTITY 32显示 Entity 节点. 只有当用一个 Entity 节点作为它的根节点来创建一个 NodeIterator 时才有意义; 在这种情况下,  Entity 节点会出现在迭代或遍历的首位. 因为 Entity  永远不会是其它节点的子节点, 当遍历整个文档树时它们不会出现.
NodeFilter.SHOW_ENTITY_REFERENCE 16显示EntityReference 节点。
NodeFilter.SHOW_NOTATION 2048显示 Notation 节点. 只有当用一个 Notation 节点作为它的根节点时来创建一个 NodeIterator 才有意义; 在这种情况下,  Notation 节点会出现在迭代或遍历的首位. 因为 Notation  永远不会是其它节点的子节点, 当遍历整个文档树时它们不会出现.
NodeFilter.SHOW_PROCESSING_INSTRUCTION64显示ProcessingInstruction 节点。
NodeFilter.SHOW_TEXT4显示Text 节点。
NodeIterator.filter 只读
返回一个用来选择相关节点的 NodeFilter .
NodeIterator.expandEntityReferences 只读
Is a Boolean indicating if, when discarding an EntityReference its whole sub-tree must be discarded at the same time.
NodeIterator.referenceNode 只读
返回当前遍历到的 Node .
NodeIterator.pointerBeforeReferenceNode 只读
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.

方法

这个接口不会继承任何属性。

NodeIterator.detach()
这个方法不是必需的. 它现在什么也不做. 之前用来告诉引擎,NodeIterator 已经不会再使用,现在已经不做任何事情.
NodeIterator.previousNode()
返回前一个 Node ,如果不存在则返回 null.
NodeIterator.nextNode()
返回下一个 Node , 如果不存在则返回null .

特性

SpecificationStatusComment
DOM
NodeIterator
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
NodeIterator
ObsoleteInitial definition.

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support1.0(Yes)3.5 (1.9.1)9.09.03.0
FeatureAndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support(Yes)(Yes)1.0 (1.9.1)(Yes)9.03.0

扩展阅读

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

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

发布评论

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

词条统计

浏览:104 次

字数:11197

最后编辑:8年前

编辑次数:0 次

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