--- title: Attr slug: Web/API/Attr tags: - API - DOM translation_of: Web/API/Attr ---
この型は、DOM 要素の属性をオブジェクトとして提供します。ほとんどの DOM メソッドは、この属性を文字列として直接取得するでしょう (例: {{domxref("Element.getAttribute()")}})。しかし、特定の関数 (例: {{domxref("Element.getAttributeNode()")}}) やイテレーションを表すものには Attr 型を付与します。
{{InheritanceDiagram}}
Attr は {{domxref("Node")}} から継承されますが、DOM4 仕様では異なります。Attr の実装を仕様に昇華する目的で、これを {{domxref("Node")}} から継承されないものに変更する作業が進められています。そのため、Attr オブジェクト上の {{domxref("Node")}} プロパティやメソッドを使用すべきではありません。null になります。null になります。属性を持った要素です。
注意: DOM レベル 4 からこのプロパティは削除されました。 {{domxref("Element")}} から Attr オブジェクトを取得でき、関連した要素を知っているという前提からでした。
{{domxref("Document.evaluate")}} により返される Attr オブジェクトのように前提が真とはならない事例があるので、 DOM Living Standard は、プロパティを再び導入しました。
Gecko は、Gecko 7.0 {{geckoRelease("7.0")}} から非推奨注意を出力します。非推奨注意は、Gecko 49.0 {{geckoRelease("49.0")}} で再び削除されました。
true を返します。かつては、ソースコードやスクリプトで明示的に指定された場合に true を返し、ドキュメントの DTD で定義されたデフォルト値である場合に false を返しました。注意: DOM レベル 3 は {{domxref("Node")}} インターフェース上にnamespaceURI, localName および prefix を定義していました。DOM4 で、それらは Attr に移動しました。
この変更は Chrome 46.0 以降、Firefox 48.0 以降で実装されています。
以下のプロパティは非推奨とされました。利用可能な場所では、適切な代わりのプロパティが提供されます。
attributesNULL を返します。childNodesNULL を返します。firstChildNULL を返します。isId {{readOnlyInline}}lastChild {{obsolete_inline(14)}}NULL を返します。nextSiblingNULL を返します。nodeNamenodeTypeATTRIBUTE_NODE) を返します。nodeValueownerDocumentparentNodeNULL を返します。previousSiblingNULL を返します。schemaTypeInfo {{obsolete_inline}} {{readOnlyInline}}specifiedtrue を返します。textContent以下のメソッドは非推奨です:
appendChild()cloneNode()createAttribute()createAttributeNS()getAttributeNode()getAttributeNodeNS()hasAttributes() {{obsolete_inline("21.0")}}false を返します。hasChildNodes()false を返します。insertBefore()isSupported()isEqualNode()normalize()removeAttributeNode()removeChild()replaceChild()setAttributeNode()setAttributeNodeNS()| 仕様書 | 状況 | コメント |
|---|---|---|
| {{SpecName("DOM WHATWG", "#interface-attr", "Attr")}} | {{Spec2("DOM WHATWG")}} | ownerElement プロパティを追加。 |
| {{SpecName("DOM4", "#interface-attr", "Attr")}} | {{Spec2("DOM4")}} | {{domxref("Node")}} から namespaceURI、prefix、localName をこの API へ移動し、ownerElement、schemaTypeInfo、isId を削除。 |
| {{SpecName("DOM3 Core", "core.html#ID-637646024", "Attr")}} | {{Spec2("DOM3 Core")}} | 初版 |
{{Compat("api.Attr")}}
[1] Chrome 45 現在、このプロパティは Node を継承しません。