この型は、DOM 要素の属性をオブジェクトとして提供します。ほとんどの DOM メソッドは、この属性を文字列として直接取得するでしょう (例: Element.getAttribute())。しかし、特定の関数 (例: Element.getAttributeNode()) やイテレーションを表すものには Attr 型を付与します。

警告: DOM Core 1、2、および 3 仕様において、AttrNode から継承されますが、DOM4 仕様では異なります。Attr の実装を仕様に昇華する目的で、これを Node から継承されないものに変更する作業が進められています。そのため、Attr オブジェクト上の Node プロパティやメソッドを使用すべきではありません。
Gecko 7.0 (Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4) 以降、これが削除されるという警告メッセージがコンソールに出力されています。これに従って、コードを変更してください。非推奨のプロパティとメソッド の完全なリストも参照してください。

プロパティ

name 読取専用
属性の名前です。
namespaceURI 読取専用
属性の名前空間 URI を表す DOMString 文字列です。名前空間がない場合、null になります。
localname 読取専用
属性の限定名のローカル部分を表す DOMString 文字列です。
prefix 読取専用
属性の名前空間の接頭辞を表す DOMString 文字列です。接頭辞が指定されていない場合、null になります。
ownerElement 読取専用

属性を持った要素です。

注意: DOM レベル 4 からこのプロパティは削除されました。 Element から Attr オブジェクトを取得でき、関連した要素を知っているという前提からでした。
Document.evaluate により返される Attr オブジェクトのように前提が真とはならない事例があるので、 DOM Living Standard は、プロパティを再び導入しました。

Gecko は、Gecko 7.0 (Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4) から非推奨注意を出力します。非推奨注意は、Gecko 49.0 (Firefox 49.0 / Thunderbird 49.0 / SeaMonkey 2.46) で再び削除されました。

specified 読取専用
このプロパティは常に true を返します。かつては、ソースコードやスクリプトで明示的に指定された場合に true を返し、ドキュメントの DTD で定義されたデフォルト値である場合に false を返しました。
value
属性の値です。

注意: DOM レベル 3 は Node インターフェース上にnamespaceURI, localName および prefix を定義していました。DOM4 で、それらは Attr に移動しました。

この変更は Chrome 46.0 以降、Firefox 48.0 以降で実装されています。

非推奨のプロパティとメソッド

以下のプロパティは非推奨とされました。利用可能な場所では、適切な代わりのプロパティが提供されます。

attributes
このプロパティは常に NULL を返します。
childNodes
このプロパティは常に NULL を返します。
firstChild
このプロパティは常に NULL を返します。
isId 読取専用
属性が "ID 属性" かどうかを示します。"ID 属性" は、DOM ドキュメント全体で唯一の値であることが期待されます。HTML DOM の内部で、"id" はこの ID 属性だけですが、XMLドキュメントでは他の属性を定義できます。ある属性が唯一であるかどうかは、DTD または他のスキーマ記述で見分けられます。
lastChild Gecko 14 で廃止
このプロパティは常に NULL を返します。
nextSibling
このプロパティは常に NULL を返します。
nodeName
代わりに Attr.name を使用してください。
nodeType
このプロパティは常に 2 (ATTRIBUTE_NODE) を返します。
nodeValue
代わりに Attr.value を使用してください。
ownerDocument
これを最初の場所で使用すべきではありません。このプロパティが取り除かれても影響が出ないようにコードを実装してください。
parentNode
このプロパティは常に NULL を返します。
previousSibling
このプロパティは常に NULL を返します。
schemaTypeInfo 読取専用
この属性に関連付けられた型情報です。ドキュメントが読み込まれた後または Document.normalizeDocument が呼び出された後、この属性含まれた型情報が正しいことが保証されています。ノードが移動された場合、このプロパティは信頼できなくなるでしょう。
specified
このプロパティは常に true を返します。
textContent
代わりに Attr.value を使用してください。

以下のメソッドは非推奨です:

appendChild()
代わりに Attr.value の値を変更してください。
cloneNode()
これを最初の場所で使用すべきではありません。このプロパティが取り除かれても影響が出ないようにコードを実装してください。
createAttribute()
代わりに Element.setAttribute() を使用してください。
createAttributeNS()
代わりに Element.setAttributeNS() を使用してください。
getAttributeNode()
代わりに Element.getAttribute() を使用してください。
getAttributeNodeNS()
代わりに Element.getAttributeNS() を使用してください。
hasAttributes() Gecko 21.0 で廃止
このメソッドは常に false を返します。
hasChildNodes()
このメソッドは常に false を返します。
insertBefore()
代わりに Attr.value の値を変更してください。
isSupported()
これを最初の場所で使用すべきではありません。このプロパティが取り除かれても影響が出ないようにコードを実装してください。
isEqualNode()
これを最初の場所で使用すべきではありません。このプロパティが取り除かれても影響が出ないようにコードを実装してください。
normalize()
これを最初の場所で使用すべきではありません。このプロパティが取り除かれても影響が出ないようにコードを実装してください。
removeAttributeNode()
代わりに Element.removeAttribute() を使用してください。
removeChild()
代わりに Attr.value の値を変更してください。
replaceChild()
代わりに Attr.value の値を変更してください。
setAttributeNode()
代わりに Element.setAttribute() を使用してください。
setAttributeNodeNS()
代わりに Element.setAttributeNS() を使用してください。

仕様

仕様書 状況 コメント
DOM
Attr の定義
現行の標準 ownerElement プロパティを追加。
DOM4
Attr の定義
廃止された Node から namespaceURIprefixlocalName をこの API へ移動し、ownerElementschemaTypeInfoisId を削除。
Document Object Model (DOM) Level 3 Core Specification
Attr の定義
廃止された 初版

ブラウザの実装状況

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート (有)[1] (有) (有) (有) (有)
機能 Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
基本サポート (有) (有) [1] (有) (有) (有) (有) (有)[1]

[1] Chrome 45 現在、このプロパティは Node を継承しません。

ドキュメントのタグと貢献者

タグ: 
このページの貢献者: naka, Marsf, mikamikuh
最終更新者: naka,