Document: createAttributeNS() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

The Document.createAttributeNS() method creates a new attribute node with the specified namespace URI and qualified name, and returns it. The object created is a node implementing the Attr interface. The DOM does not enforce what sort of attributes can be added to a particular element in this manner.

Syntax

js
createAttributeNS(namespaceURI, qualifiedName)

Parameters

namespaceURI

A string that specifies the namespaceURI to associate with the attribute. Some important namespace URIs are:

HTML

http://www.w3.org/1999/xhtml

SVG

http://www.w3.org/2000/svg

MathML

http://www.w3.org/1998/Math/MathML

qualifiedName

A string that specifies the name of attribute to be created. The name property of the created attribute is initialized with the value of qualifiedName.

Return value

The new Attr node.

Exceptions

NamespaceError DOMException

Thrown if the namespaceURI value is not a valid namespace URI.

InvalidCharacterError DOMException

Thrown if the qualifiedName value is not a valid XML name; for example, it starts with a number, hyphen, or period, or contains characters other than alphanumeric characters, underscores, hyphens, or periods.

Examples

js
const node = document.getElementById("svg");
const a = document.createAttributeNS("http://www.w3.org/2000/svg", "viewBox");
a.value = "0 0 100 100";
node.setAttributeNode(a);
console.log(node.getAttribute("viewBox")); // "0 0 100 100"

Specifications

Specification
DOM
# dom-document-createattributens

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
createAttributeNS

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also