HTMLCollection
は要素群(document 内の順序)の一般的な集合(配列)を表現したインターフェイスで,リストから選択するためのメソッドとプロパティを提供します.
Note: This interface is called
HTMLCollection
for historical reasons (before DOM4, collections implementing this interface could only have HTML elements as their items).HTML DOM内のHTMLCollection
は生きて(live)います; それらは元になったdocumentが変更された時点で自動的に更新されます.
プロパティ
HTMLCollection.length
読取専用- collection内のアイテム数
メソッド
HTMLCollection.
item(index)- リスト内の指定された
index
(先頭はゼロ)位置にある特定のノードを返します.index
が範囲外ならnull
を返します. HTMLCollection.
namedItem(name)- Returns the specific node whose ID or, as a fallback, name matches the string specified by
name
. Matching by name is only done as a last resort, only in HTML, and only if the referenced element supports thename
attribute. Returnsnull
if no node exists by the given name.
JavaScriptでの使用法
HTMLCollectionsにアクセスするJavaScriptプログラム内で,所与のHTMLCollectionのアイテムを取得するためにitem()
メソッドまたはnamedItem()
を直接呼び出す代わりに角括弧構文を使えます.角括弧内の数値はitem()
メソッドと同様に働き, 文字列値はnamedItem()
と同様に機能します.
例えば,ドキュメント内に1つの<form>
要素があるものと仮定して下さい.そのid
は"myForm"
です:
var elem1, elem2; // document.forms is an HTMLCollection elem1 = document.forms[0]; elem2 = document.forms.item(0); alert(elem1 === elem2); // shows: "true" elem1 = document.forms["myForm"]; elem2 = document.forms.namedItem("myForm"); alert(elem1 === elem2); // shows: "true"
ブラウザ互換性
インデックス(またはnamedItem
の引数)として用いられた文字列にマッチする1つ以上のエレメントがある時,ブラウザごとに異なる挙動を示します.Firefox 8 behaves as specified in DOM 2 and DOM4, returning the first matching element. WebKit browsers and Internet Explorer in this case return another HTMLCollection
and Opera returns a NodeList
of all matching elements.
仕様
- HTML 5, Section 2.7.2, Collections
- DOM Level 2 HTML, Section 1.4, Miscellaneous Object Definitions
- DOM4: HTMLCollection