From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/zh-cn/web/api/nodeiterator/index.html | 214 ++++++++++++++++++++++++++++ 1 file changed, 214 insertions(+) create mode 100644 files/zh-cn/web/api/nodeiterator/index.html (limited to 'files/zh-cn/web/api/nodeiterator') diff --git a/files/zh-cn/web/api/nodeiterator/index.html b/files/zh-cn/web/api/nodeiterator/index.html new file mode 100644 index 0000000000..2b2795b6a0 --- /dev/null +++ b/files/zh-cn/web/api/nodeiterator/index.html @@ -0,0 +1,214 @@ +--- +title: NodeIterator +slug: Web/API/NodeIterator +tags: + - API + - DOM +translation_of: Web/API/NodeIterator +--- +
{{APIRef("DOM")}}
+ +

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

+ +

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

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

属性

+ +

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

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

显示{{ domxref("DocumentFragment") }}节点。

+
NodeFilter.SHOW_DOCUMENT_TYPE512显示{{ domxref("DocumentType") }} 节点。
NodeFilter.SHOW_ELEMENT1显示{{ domxref("Element") }} 节点。
NodeFilter.SHOW_ENTITY {{obsolete_inline}}32显示 {{ domxref("Entity") }} 节点. 只有当用一个 {{ domxref("Entity") }} 节点作为它的根节点来创建一个 {{ domxref("NodeIterator") }} 时才有意义; 在这种情况下,  {{ domxref("Entity") }} 节点会出现在迭代或遍历的首位. 因为 {{ domxref("Entity") }}  永远不会是其它节点的子节点, 当遍历整个文档树时它们不会出现.
NodeFilter.SHOW_ENTITY_REFERENCE {{obsolete_inline}}16显示{{ domxref("EntityReference") }} 节点。
NodeFilter.SHOW_NOTATION {{obsolete_inline}}2048显示 {{ domxref("Notation") }} 节点. 只有当用一个 {{ domxref("Notation") }} 节点作为它的根节点时来创建一个 {{ domxref("NodeIterator") }} 才有意义; 在这种情况下,  {{ domxref("Notation") }} 节点会出现在迭代或遍历的首位. 因为 {{ domxref("Notation") }}  永远不会是其它节点的子节点, 当遍历整个文档树时它们不会出现.
NodeFilter.SHOW_PROCESSING_INSTRUCTION64显示{{ domxref("ProcessingInstruction") }} 节点。
NodeFilter.SHOW_TEXT4显示{{ domxref("Text") }} 节点。
+
+
{{domxref("NodeIterator.filter")}} {{readonlyInline}}
+
返回一个用来选择相关节点的 {{domxref("NodeFilter")}} .
+
{{domxref("NodeIterator.expandEntityReferences")}} {{readonlyInline}} {{deprecated_inline}}
+
Is a {{domxref("Boolean")}} indicating if, when discarding an {{domxref("EntityReference")}} its whole sub-tree must be discarded at the same time.
+
{{domxref("NodeIterator.referenceNode")}} {{readonlyInline}} {{experimental_inline() }}
+
返回当前遍历到的 {{domxref("Node")}} .
+
{{domxref("NodeIterator.pointerBeforeReferenceNode")}} {{readonlyInline}} {{ experimental_inline() }}
+
Returns a {{domxref("Boolean")}} flag that indicates whether the {{domxref("NodeIterator")}} is anchored before, the flag being true, or after, the flag being false, the anchor node.
+
+ +

方法

+ +

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

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

特性

+ + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('DOM WHATWG', '#nodeiterator', 'NodeIterator')}}{{Spec2('DOM WHATWG')}}Added 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.
{{SpecName('DOM2 Traversal_Range', 'traversal.html#Iterator-overview', 'NodeIterator')}}{{Spec2('DOM2 Traversal_Range')}}Initial definition.
+ +

浏览器兼容性

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support1.0{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.9.1")}}9.09.03.0
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.9.1")}}{{CompatVersionUnknown}}9.03.0
+
+ +

扩展阅读

+ + + +

+ +

-- cgit v1.2.3-54-g00ecf