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 createAttributeNS() method of the Document interface creates a new attribute node with the specified namespace URI and qualified name.
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
createAttributeNS(namespaceURI, qualifiedName)
Parameters
namespaceURI-
A string that specifies the
namespaceURIto associate with the attribute, or the empty string. Some important namespace URIs are: qualifiedName-
A string containing the qualified name of the new attribute. The
nameproperty of the created attribute is initialized with this value.The format of the qualified name is
prefix:localNameorlocalName, where the parts are defined as:prefixOptional-
A "short alias" for the namespace. The prefix is optional, but if it is specified the
namespaceURIparameter must also be specified. If the prefix is set toxmlorxmlns, thenamespaceURImust be set tohttp://www.w3.org/XML/1998/namespaceorhttp://www.w3.org/2000/xmlns/, respectively.The value is used to initialize the new attribute's
prefixproperty. If not set, its value isnull. localName:-
The local name of the attribute. The value is used to initialize the new attribute's
localNameproperty.
Return value
The new Attr node.
Exceptions
NamespaceErrorDOMException-
Thrown if the
namespaceURIvalue is:- not a valid namespace URI
- set to the empty string when
prefixhas a value - not the value
http://www.w3.org/XML/1998/namespaceorhttp://www.w3.org/2000/xmlns/whenprefixis set toxmlorxmlns, respectively.
InvalidCharacterErrorDOMException-
Thrown if either the
prefixorlocalNameis not valid:- The
prefixmust have at least one character, and cannot contain ASCII whitespace,NULL,/, or>(U+0000, U+002F, or U+003E, respectively). - The
localNamemust have at least 1 character, and may not contain ASCII whitespace,NULL,/,=or>(U+0000, U+002F, U+003D or U+003E, respectively).
Note: Earlier versions of the specification were more restrictive, requiring that the
localNamebe a valid XML name. - The
Examples
>Basic usage
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> |