--- title: Node.namespaceURI slug: Web/API/Node/namespaceURI translation_of: Web/API/Node/namespaceURI ---
Node.namespaceURI
是一个只读属性,返回节点的命名空间URI(namespace URI),如果节点不在一个命名空间中,则返回 null
。当节点是文档节点时,返回当前文档的 XML 命名空间(namespace)。
在 DOM4 中, 此接口从Node
被移入 {{domxref("Element")}} 和 {{domxref("Attr")}}接口.
namespace = node.namespaceURI
在这个示例中, 使用 localName 和 namespaceURI来检查这个node
. 如果 namespaceURI
返回 XUL 命名空间并且 localName
返回 "browser", 说明这个节点属于 XUL <browser/>
.
if (node.localName == "browser" && node.namespaceURI == "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul") { // this is a XUL browser }
这不是一个计算值,它是基于检查范围内的命名空间声明的名称空间查找的结果。节点的命名空间URI在节点创建时被固定。
在Firefox 3.5或更早的版本中,HTML文档中HTML元素的名称空间URI是null
。在之后的版本中,由http://www.w3.org/1999/xhtml
作为XHTML,符合HTML5. {{gecko_minversion_inline("1.9.2")}}
除了ELEMENT_NODE
a和 ATTRIBUTE_NODE
以外的 nodeType 中 node 的 namespaceURI
永远是null
.
你可以使用DOM2的方法 document.createElementNS 来创建一个有特殊 namespaceURI
的元素.
在XML的命名空间中,属性不会从它附加到的元素继承它的命名空间。如果属性未显式地给出命名空间,则它没有命名空间.
DOM本身不处理或执行命名空间验证, 因此应该有由DOM应用程序进行必要的验证。请注意,命名空间前缀一旦与特定节点关联,则不能更改.
规范 | 状态 | 备注 |
---|---|---|
{{SpecName("DOM3 Core", "core.html#ID-NodeNSname", "Node.namespaceURI")}} | {{Spec2("DOM3 Core")}} | 当设置为 null 是指定动作. |
{{SpecName("DOM2 Core", "core.html#Namespaces-Considerations", "DOM Level 2 Core: XML Namespaces")}} | {{Spec2("DOM2 Core")}} | |
{{SpecName("DOM2 Core", "core.html#ID-NodeNSname", "Node.namespaceURI")}} | {{Spec2("DOM2 Core")}} | 初始化 |
特征 | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
是否支持 | {{CompatVersionUnknown}} {{CompatNo}}46.0[1] |
{{CompatVersionUnknown}} | {{CompatVersionUnknown}}[2] {{CompatNo}} {{CompatGeckoDesktop("48.0")}}[1] |
{{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
特征 | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
是否支持 | {{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}}[2] {{CompatNo}} {{CompatGeckoMobile("48.0")}}[1] |
{{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
[1] 从DOM4标准开始, 此接口被移入{{domxref("Element")}} 和 {{domxref("Attr")}} 接口.
[2] 在 Gecko 5.0 之前 {{geckoRelease("5.0")}}, 这是一个读写属性; 从 Gecko 5.0 起,这是一个只读属性, 符合标准.