hasAttributeNS returns a boolean value indicating whether the current element has the specified attribute.


result = element.hasAttributeNS(namespace,localName)
  • result is the boolean value true or false.
  • namespace is a string specifying the namespace of the attribute.
  • localName is the name of the attribute.


// Check that the attribute exists before you set a value
var d = document.getElementById("div1");
if (d.hasAttributeNS(
       "special-align")) {
  d.setAttribute("align", "center");


DOM methods dealing with element's attributes:

Not namespace-aware, most commonly used methods Namespace-aware variants (DOM Level 2) DOM Level 1 methods for dealing with Attr nodes directly (seldom used) DOM Level 2 namespace-aware methods for dealing with Attr nodes directly (seldom used)
setAttribute (DOM 1) setAttributeNS setAttributeNode setAttributeNodeNS
getAttribute (DOM 1) getAttributeNS getAttributeNode getAttributeNodeNS
hasAttribute (DOM 2) hasAttributeNS - -
removeAttribute (DOM 1) removeAttributeNS removeAttributeNode -


DOM Standard (DOM)
# ref-for-dom-element-hasattributens①

Browser compatibility

BCD tables only load in the browser