Our volunteers haven't translated this article into Српски yet. Join us and help get the job done!
You can also read the article in English (US).

The hasAttributes() method of the Element interface returns a Boolean indicating whether the current element has any attributes or not.


var result = element.hasAttributes();

Return value

holds the return value true or false.


let foo = document.getElementById('foo'); 
if (foo.hasAttributes()) { 
  // Do something with 'foo.attributes'


;(function(prototype) {
  prototype.hasAttributes = prototype.hasAttributes || function() {
    return (this.attributes.length > 0);


Specification Status Comment
The definition of 'Element.hasAttributes()' in that specification.
Living Standard Moved from the Node interface to the more specialized Element interface.
Document Object Model (DOM) Level 3 Core Specification
The definition of 'hasAttributes()' in that specification.
Obsolete No change from Document Object Model (DOM) Level 2 Core Specification
Document Object Model (DOM) Level 2 Core Specification
The definition of 'hasAttributes()' in that specification.
Obsolete Initial definition, on the Node interface.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
hasAttributesChrome Full support YesEdge Full support 16Firefox Full support Yes
Full support Yes
Notes [1] Before Firefox 35, it was implemented on the Node interface.
IE Full support 9Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesEdge Mobile ? Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes


Full support  
Full support
Compatibility unknown  
Compatibility unknown
See implementation notes.
See implementation notes.

See also

Document Tags and Contributors

Last updated by: mdnwebdocs-bot,