Web/API/Node/namespaceURI

From Get docs
< Web/API‎ | Node

ObsoleteThis 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.


The Node.namespaceURI read-only property returns the namespace URI of the node, or null if the node is not in a namespace. When the node is a document, it returns the XML namespace for the current document.

In DOM4 this API was moved from Node to the Element and Attr interfaces.


Syntax

namespace = node.namespaceURI

Example

In this snippet, a node is being examined for its Node.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 (node.localName == "browser" && 
    node.namespaceURI == "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul") {
  // this is a XUL browser 
}

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 a node is frozen at the node creation time.

In Firefox 3.5 and earlier, the namespace URI for HTML elements in HTML documents is null. In later versions, in compliance with HTML5, it is https://www.w3.org/1999/xhtml as in XHTML.

For nodes of any Node.nodeType other than ELEMENT_NODE and ATTRIBUTE_NODE the value of namespaceURI is always null.

You can create an element with the specified namespaceURI using the DOM Level 2 method Document.createElementNS and attributes with the 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
Document Object Model (DOM) Level 3 Core SpecificationThe definition of 'Node.namespaceURI' in that specification. Obsolete Specifies the behavior when it's set to null.
Document Object Model (DOM) Level 2 Core SpecificationThe definition of 'DOM Level 2 Core: XML Namespaces' in that specification. Obsolete  
Document Object Model (DOM) Level 2 Core SpecificationThe definition of 'Node.namespaceURI' in that specification. Obsolete Initial definition

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

Deprecated'Non-standard'

Chrome No support ? — 46

Notes'

No support ? — 46

Notes'

Notes' This API was moved to the Element and Attr APIs according to the DOM4 standard.

Edge No support 12 — 79

Notes'

No support 12 — 79

Notes'

Notes' This API was moved to the Element and Attr APIs according to the DOM4 standard.

Firefox No support 1 — 48

Notes'

No support 1 — 48

Notes'

Notes' This API was moved to the Element and Attr APIs according to the DOM4 standard.

IE

?

Opera

?

Safari

?

WebView Android No support ? — 46

Notes'

No support ? — 46

Notes'

Notes' This API was moved to the Element and Attr APIs according to the DOM4 standard.

Chrome Android No support ? — 46

Notes'

No support ? — 46

Notes'

Notes' This API was moved to the Element and Attr APIs according to the DOM4 standard.

Firefox Android

Full support 45

Opera Android

Full support Yes

Safari iOS

Full support Yes

Samsung Internet Android No support ? — 5.0

Notes'

No support ? — 5.0

Notes'

Notes' This API was moved to the Element and Attr APIs according to the DOM4 standard.

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Non-standard. Expect poor cross-browser support.'
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.'
Deprecated. Not for use in new websites.
See implementation notes.'
See implementation notes.


See also