Attr.namespaceURI

Attr.namespaceURI 只读属性返回属性的命名空间URI,如果该元素不在命名空间中,则返回null。

在DOM4之前,该API是在 Node 中定义的。

语法

namespace = attribute.namespaceURI

例子

在这个片段中,正在检查一个属性的 localName 和 namespaceURI. 如果 namespaceURI 返回XUL命名空间,并且localName返回 "browser",则该节点被理解为XUL  <browser/>

if (attribute.localName == "value" &&
    attribute.namespaceURI == "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul") {
  // this is a XUL value
}

笔记

这不是基于对范围中的命名空间声明的检查的命名空间查找的结果的计算值。
属性的命名空间URI在属性创建时被冻结。

在Firefox 3.5及更早版本中,HTML文档中HTML属性的命名空间URI为null。
在后来的版本中,遵照HTML5,就像在XHTML中一样是https://www.w3.org/1999/xhtml

您可以使用DOM Level 2方法 Element.setAttributeNS创建具有指定namespaceURI的属性。

根据 Namespaces in XML 规范, 属性不会从其附加的元素继承其命名空间。
如果一个属性没有明确地给出一个命名空间,它没有命名空间。

DOM本身不处理或强制命名空间验证。 DOM应用程序需要做任何必要的验证。
还要注意,一旦与特定节点相关联,命名空间前缀将无法更改。

规格

规格 状态 注释
DOM4
Element.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! (en-US)

特征 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本支持 46.0[1] 48.0 (48.0)[1] ? (Yes) ?
特征 Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本支持 ? 48.0 (48.0)[1] ? ? ?

[1] 此API以前在 Node API上可用。

其他文章