The Document.createAttribute() method creates a new attribute node, and returns it. The object created 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.

The string given in parameter is converted to lowercase.

Syntax

attribute = document.createAttribute(name) 

Parameters

  • name is a string containing the name of the attribute.

Return value

A Attr node.

Exceptions

  • INVALID_CHARACTER_ERR if the parameter contains invalid characters for XML attribute.

Example

var node = document.getElementById("div1");
var a = document.createAttribute("my_attrib");
a.value = "newVal";
node.setAttributeNode(a);
console.log(node.getAttribute("my_attrib")); // "newVal"

Specifications

Specification Status Comment
DOM
The definition of 'Document.createAttribute()' in that specification.
Living Standard Precised behavior with uppercase characters
Document Object Model (DOM) Level 3 Core Specification
The definition of 'Document.createAttribute()' in that specification.
Recommendation No change.
Document Object Model (DOM) Level 2 Core Specification
The definition of 'Document.createAttribute()' in that specification.
Recommendation No change.
Document Object Model (DOM) Level 1 Specification
The definition of 'Document.createAttribute()' in that specification.
Recommendation Initial definition.

Browser compatibility

  
Feature Firefox (Gecko) Chrome Edge Internet Explorer Opera Safari
Basic support 1.0 (1.7 or earlier)[1] (Yes)(Yes) (Yes) (Yes) (Yes)
  
Feature Firefox Mobile (Gecko) Android Edge IE Mobile Opera Mobile Safari Mobile
onselectionchange 1.0 (1)[1] (Yes)(Yes) (Yes) (Yes) (Yes)

[1] Before Firefox 44, the parameter wasn't converted to its lowercase variant.

See also

Document Tags and Contributors

 Last updated by: erikadoyle,