Web/API/Attr/namespaceURI

From Get docs
< Web/API‎ | Attr


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
DOMThe definition of 'Attr: namespaceURI' in that specification. Living Standard  

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
namespaceURI

Chrome Full support 46

Notes'

Full support 46

Notes'

Notes' This API was previously available on the Node API.

Edge

Full support ≤18

Firefox Full support 48

Notes'

Full support 48

Notes'

Notes' This API was previously available on the Node API.

IE

No support No

Opera Full support 33

Notes'

Full support 33

Notes'

Notes' This API was previously available on the Node API.

Safari

Full support 1.3

WebView Android Full support 46

Notes'

Full support 46

Notes'

Notes' This API was previously available on the Node API.

Chrome Android Full support 46

Notes'

Full support 46

Notes'

Notes' This API was previously available on the Node API.

Firefox Android Full support 48

Notes'

Full support 48

Notes'

Notes' This API was previously available on the Node API.

Opera Android Full support 33

Notes'

Full support 33

Notes'

Notes' This API was previously available on the Node API.

Safari iOS

Full support 1

Samsung Internet Android Full support 5.0

Notes'

Full support 5.0

Notes'

Notes' This API was previously available on the Node API.

Legend

Full support  
Full support
No support  
No support
See implementation notes.'
See implementation notes.


See also