--- title: Element.getAttributeNames() slug: Web/API/Element/getAttributeNames tags: - API - DOM - Element - getAttributeNames - メソッド - 属性 translation_of: Web/API/Element/getAttributeNames ---
{{APIRef("DOM")}}

{{domxref("Element")}} インターフェースの getAttributeNames() メソッドは要素の属性の名前を文字列の {{jsxref("Array")}} で返します。要素に属性がない場合は、空の配列を返します。

getAttributeNames() を {{domxref("Element.getAttribute","getAttribute()")}} と共に使用すると、 {{domxref("Element.attributes")}} にアクセスするよりメモリ効率やパフォーマンスが良くなります。

構文

let attributeNames = element.getAttributeNames();

// 要素の属性に対して反復処理する
for(let name of element.getAttributeNames()) {
	let value = element.getAttribute(name);
	console.log(name, value);
}

代替モジュール

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;
  };
}

仕様書

仕様書 状態 備考
{{SpecName("DOM WHATWG", "#dom-element-getattributenames", "Element.getAttributeNames")}} {{Spec2("DOM WHATWG")}} 初回定義

ブラウザーの対応

{{Compat("api.Element.getAttributeNames")}}