attributes、NamedNodeMap | NN 6 IE 5 DOM 1 | |||||||
W3C が勧告する DOM 要素オブジェクトの attributes プロパティが返すオブジェクトは、Attr (別名 attribute) オブジェクトへの参照のコレクション (配列) です。ノードの属性タイプには必ず名前が割り当てられているため、これらノードのコレクションのメソッドは、配列内で一致するノード名の検索を繰り返すことなく、名前によりノードに直接アクセスできます。この名前付きノードの配列は、W3C の DOM 構造の抽象表現では NamedNodeMap オブジェクトと呼ばれており、そのプロパティとメソッドは、IE の attributes オブジェクトと一部共通しています。これらのオブジェクトはいずれも、ドキュメントツリーの同じ部分を指しているため、ここでは両者を合わせて取り上げます。W3C の DOM には他にも、NamedNodeMap に類似するコレクションがいくつか存在しますが、HTML ドキュメントで主に目にするのは Attr オブジェクトのコレクションとしての NamedNodeMap です。コレクションに含まれる各要素はソースコード順序に従って並べ替えられます。 |
||||||||
要素の属性に対しては、より直接的なアクセス方法もあります (すべての要素を対象とする getAttribute() メソッドまたは getAttributeNode() メソッドなど)。ただし、ここに示したプロパティとメソッドは、スクリプトがホストの要素とは独立して属性のコレクションを渡し、その時点で処理がスタートすることを前提としています。 |
||||||||
オブジェクト参照 | ||||||||
elementReference.attributes
|
||||||||
オブジェクト固有のプロパティ | ||||||||
|
||||||||
オブジェクト固有のメソッド | ||||||||
|
||||||||
オブジェクト固有のイベントハンドラープロパティ | ||||||||
なし |
length | NN 6 IE 5 DOM 1 |
読み取り専用 | |
コレクションに含まれる要素の数を返します。 |
|
例 | |
var howMany = document.getElementById("myTable").attributes.length; |
|
値 | |
整数 |
getNamedItem() | NN 6 IE 6 DOM 1 |
getNamedItem("attributeName") | |
ノード名とパラメータ値が一致する属性に該当する 1 つの Attr オブジェクトを返します。 |
|
パラメータ | |
|
|
戻り値 | |
1 つの Attr オブジェクトへの参照。パラメータ値に一致する要素がない場合、null が返されます。 |
getNamedItemNS() | NN 6 IE なし DOM 2 |
getNamedItemNS("namespaceURI"、"localName") | |
パラメータ値と一致するローカル名と名前空間 URI を持つ 1 つの Attr オブジェクトを返します。 |
|
パラメータ | |
|
|
戻り値 | |
1 つの Attr オブジェクトへの参照。パラメータ値に一致する要素がない場合、null が返されます。 |
item() | NN 6 IE 5 DOM 1 |
item(index) | |
インデックス値と一致する要素に該当する 1 つの Attr オブジェクトを返します。 |
|
パラメータ | |
|
|
戻り値 | |
1 つの Attr オブジェクトへの参照。インデックス値に一致する要素がない場合、null が返されます。他のいくつかの IE コレクションの場合と異なり、attributes オブジェクトでは文字列のインデックス値は許容されません。 |
removeNamedItem() | NN 6 IE 6 DOM 1 |
removeNamedItem("attributeName") | |
ノード名とパラメータ値が一致する属性に該当する 1 つの Attr オブジェクトを、コレクションから削除します。 |
|
パラメータ | |
|
|
戻り値 | |
削除される Attr オブジェクトへの参照。パラメータ値に一致する要素がない場合、null が返されます。 |
removeNamedItemNS() | NN 6 IE なし DOM 2 |
removeNamedItemNS("namespaceURI"、"localName") | |
パラメータ値と一致するローカル名と名前空間 URI を持つ 1 つの Attr オブジェクトを、コレクションから削除します。 |
|
パラメータ | |
|
|
戻り値 | |
削除される Attr オブジェクトへの参照。パラメータ値に一致する要素がない場合は、メソッドにエラーが発生します。 |
setNamedItem() | NN 6 IE 6 DOM 1 |
setNamedItem(attrObjectReference) | |
1 つの Attr オブジェクトを、現在の属性コレクションに挿入します。属性のリンク先が既存の要素である場合は、setAttributeNode() メソッドを使用して Attr オブジェクトを挿入することもできます。setNamedItem() メソッドを呼び出すと、ブラウザは最初に、新たな属性名と一致する既存の属性名が存在するかどうかをコレクション内で検索します。一致が見つかった場合は、既存の属性を新たな属性に置換します。一致が見つからなかった場合は、新たな属性をコレクションに追加します。 |
|
パラメータ | |
|
|
戻り値 | |
新たに作成された Attr オブジェクト、またはドキュメントツリー内の別の場所から参照されている Attr オブジェクトへの参照。 |
setNamedItemNS() | NN 6 IE なし DOM 2 |
setNamedItemNS(attrObjectReference) | |
1 つの Attr オブジェクトを、現在の属性コレクションに挿入します。属性のリンク先が既存の要素である場合は、setAttributeNodeNS() メソッドを使用して Attr オブジェクトを挿入することもできます。setNamedItemNS() メソッドを呼び出すと、ブラウザは最初に、新たな属性と既存の属性との間で、同じローカル名および名前空間 URI が存在するかどうかをコレクション内で検索します。一致が見つかった場合は、既存の属性を新たな属性に置換します。一致が見つからなかった場合は、新たな属性をコレクションに追加します。 |
|
パラメータ | |
|
|
戻り値 | |
新たに作成された Attr オブジェクト、またはドキュメントツリー内の別の場所から参照されている Attr オブジェクトへの参照。 |