[Edge]。→、
element に指定されている属性の名前を文字列の配列で返します。要素に属性がない場合は、空の配列を返します。
getAttributeNames() を getAttribute() と共に使用すると、Element.attributes にアクセスするよりメモリー効率やパフォーマンスが良くなります。
| element | Element。 |
|---|
Array。要素に属性がない場合は、空の配列を返します。
要素の属性に対して反復処理する:
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;
};
}
HTML:
<SPAN id=IdTest class="Test Test2" style="color:red; font-size:30px;">SPAN要素</SPAN>
JavaScript:
D=IdTest.getAttributeNames(); //=[object]:id,class,style //0=[string]:id //1=[string]:class //2=[string]:style
更に、
A=document.createAttribute('Test'); //属性「Test」の生成。 A.value='サンプル'; //値も設定。 IdTest.setAttributeNode(A); //テスト要素に属性組み込み。 D=IdTest.getAttributeNames(); //=[object]:id,class,style,test //0=[string]:id //1=[string]:class //2=[string]:style //3=[string]:test