Element.getAttributeNames()

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.

Element.getAttributeNames() renvoie les noms des attributs de l'élément sous la forme d'un Array (tableau) de chaînes de caractères. Si l'élément n'a pas d'attributs, il retourne un tableau vide.

L'utilisation de getAttributeNames() complété par getAttribute(), est une alternative efficiente et performante pour l'accès à Element.attributes.

Syntaxe

js
let attributeNames = element.getAttributeNames();

Exemple

js
// Itérer sur les attributs de l'élément
for (let name of element.getAttributeNames()) {
  let value = element.getAttribute(name);
  console.log(name, value);
}

Polyfill

js
if (Element.prototype.getAttributeNames == undefined) {
  Element.prototype.getAttributeNames = function () {
    var attributes = this.attributes;
    var length = attributes.length;
    var result = new Array(length);
    for (var i = 0; i < length; i++) {
      result[i] = attributes[i].name;
    }
    return result;
  };
}

Spécifications

Specification
DOM Standard
# ref-for-dom-element-getattributenames①

Compatibilité des navigateurs

BCD tables only load in the browser