--- title: Element.getAttributeNames() slug: Web/API/Element/getAttributeNames tags: - API - DOM - Element - getAttributeNames - メソッド - 属性 translation_of: Web/API/Element/getAttributeNames --- <div>{{APIRef("DOM")}}</div> <p>{{domxref("Element")}} インターフェースの <strong><code>getAttributeNames()</code></strong> メソッドは要素の属性の名前を文字列の {{jsxref("Array")}} で返します。要素に属性がない場合は、空の配列を返します。</p> <p><code>getAttributeNames()</code> を {{domxref("Element.getAttribute","getAttribute()")}} と共に使用すると、 {{domxref("Element.attributes")}} にアクセスするよりメモリ効率やパフォーマンスが良くなります。</p> <h2 id="Syntax" name="Syntax">構文</h2> <pre class="syntaxbox notranslate"><em>let attributeNames</em> = element.getAttributeNames(); </pre> <h2 id="Example" name="Example">例</h2> <pre class="brush:js notranslate">// 要素の属性に対して反復処理する for(let name of element.getAttributeNames()) { let value = element.getAttribute(name); console.log(name, value); } </pre> <h2 id="Polyfill" name="Polyfill">代替モジュール</h2> <pre class="brush:js notranslate">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; }; }</pre> <h2 id="Specifications" name="Specifications">仕様書</h2> <table class="standard-table"> <thead> <tr> <th scope="col">仕様書</th> <th scope="col">状態</th> <th scope="col">備考</th> </tr> </thead> <tbody> <tr> <td>{{SpecName("DOM WHATWG", "#dom-element-getattributenames", "Element.getAttributeNames")}}</td> <td>{{Spec2("DOM WHATWG")}}</td> <td>初回定義</td> </tr> </tbody> </table> <h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの対応</h2> <div> <p>{{Compat("api.Element.getAttributeNames")}}</p> </div>