The Attr.namespaceURI
read-only property returns the namespace URI of the attribute, or null
if the element is not in a namespace.
Before DOM4 this API was defined within the Node
interface.
Syntax
namespace = attribute.namespaceURI
Example
In this snippet, an attribute is being examined for its localName
and its namespaceURI
. If the namespaceURI
returns the XUL namespace and the localName
returns "browser", then the node is understood to be a XUL <browser/>
.
if (attribute.localName == "value" && attribute.namespaceURI == "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul") { // this is a XUL value }
Notes
This is not a computed value that is the result of a namespace lookup based on an examination of the namespace declarations in scope. The namespace URI of an attribute is frozen at the attribute creation time.
In Firefox 3.5 and earlier, the namespace URI for HTML attributes in HTML documents is null
. In later versions, in compliance with HTML5, it is https://www.w3.org/1999/xhtml
as in XHTML.
You can create an attribute with the specified namespaceURI
using the DOM Level 2 method Element.setAttributeNS
.
Per the Namespaces in XML specification, an attribute does not inherit its namespace from the element it is attached to. If an attribute is not explicitly given a namespace, it has no namespace.
The DOM does not handle or enforce namespace validation per se. It is up to the DOM application to do any validation necessary. Note too that the namespace prefix, once it is associated with a particular node, cannot be changed.
Specifications
Specification | Status | Comment |
---|---|---|
DOM4 The definition of 'Element.namespaceuri' in that specification. |
Recommendation | Initial definition |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 46.0[1] | 48.0 (48.0)[1] | ? | (Yes) | ? |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | ? | 48.0 (48.0)[1] | ? | ? | ? |
[1] This API was previously available on the Node
API.