We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

这篇翻译不完整。请帮忙从英语翻译这篇文章

已废弃
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

Node.namespaceURI 是一个只读属性,返回节点的命名空间URI(namespace URI),如果节点不在一个命名空间中,则返回 null。当节点是文档节点时,返回当前文档的 XML 命名空间(namespace)。

在 DOM4 中, 此接口从Node 被移入 ElementAttr接口.

语法

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.

除了ELEMENT_NODE a和 ATTRIBUTE_NODE 以外的 nodeType 中 node 的 namespaceURI 永远是null.

你可以使用DOM2的方法 document.createElementNS 来创建一个有特殊 namespaceURI 的元素.

XML的命名空间中,属性不会从它附加到的元素继承它的命名空间。如果属性未显式地给出命名空间,则它没有命名空间.

DOM本身不处理或执行命名空间验证, 因此应该有由DOM应用程序进行必要的验证。请注意,命名空间前缀一旦与特定节点关联,则不能更改.

规范

规范 状态 备注
Document Object Model (DOM) Level 3 Core Specification
Node.namespaceURI
Obsolete 当设置为 null 是指定动作.
Document Object Model (DOM) Level 2 Core Specification
DOM Level 2 Core: XML Namespaces
Obsolete  
Document Object Model (DOM) Level 2 Core Specification
Node.namespaceURI
Obsolete 初始化

浏览器兼容性

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!

特征 Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
是否支持 (Yes)
未实现46.0[1]
(Yes) (Yes)[2]
未实现 48.0 (48.0)[1]
? ? ?
特征 Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
是否支持 ? (Yes) (Yes)[2]
未实现 48.0 (48.0)[1]
? ? ?

[1] 从DOM4标准开始, 此接口被移入ElementAttr 接口.

[2] 在 Gecko 5.0 之前 (Firefox 5.0 / Thunderbird 5.0 / SeaMonkey 2.2), 这是一个读写属性; 从 Gecko 5.0 起,这是一个只读属性, 符合标准.

参考

文档标签和贡献者

此页面的贡献者: LoveofRedMoon, teoli, AlexChao
最后编辑者: LoveofRedMoon,