1. 2.5 共通DOMインターフェイス
      1. 2.5.1 IDL属性におけるコンテンツ属性の反映
      2. 2.5.2 コレクション
        1. 2.5.2.1 HTMLAllCollectionインターフェイス
        2. 2.5.2.2 HTMLFormControlsCollectionインターフェイス
        3. 2.5.2.3 HTMLOptionsCollectionインターフェイス
      3. 2.5.3 DOMStringListインターフェイス

2.5 共通DOMインターフェイス

2.5.1 IDL属性におけるコンテンツ属性の反映

一部のIDL属性は、特定のコンテンツ属性の反映を定義する。これは、そのIDL属性がコンテンツ属性の現在値を返し、そのIDL属性が与えられた値にコンテンツ属性の値を変更することを意味する。

2.5.2 コレクション

HTMLFormControlsCollectionおよびHTMLOptionsCollectionインターフェイスは、HTMLCollectionインターフェイスから派生するコレクションである。HTMLAllCollectionインターフェイスはコレクションであるが、派生ではない。

2.5.2.1 HTMLAllCollectionインターフェイス

HTMLAllCollectionインターフェイスは、レガシーdocument.all属性に対して使用される。このインターフェイスは、HTMLCollectionと類似の動作をする。主な違いは、このインターフェイスが完全に最後には何かを返すことになるためにそのメソッドの驚くほどさまざまな異なる(不正)利用を可能にし、プロパティアクセスの代替としての機能として呼び出すことができることということである。

すべてのHTMLAllCollectionオブジェクトは、Documentでルート化され、すべての要素とマッチするフィルターを持つ。その結果HTMLAllCollectionオブジェクトのコレクションによって表される要素は、ルートDocumentのすべての子孫要素から成る。

HTMLAllCollectionインターフェイスを実装するオブジェクトには、[[IsHTMLDDA]]内部スロットを持つという事実のために、いくつかの独特な動作を持つ。

これらの特別な振る舞いは、レガシーコンテンツの2つのクラスとの互換性への要望によって動機付けられている:1つはレガシーユーザーエージェントを検出する手段としてdocument.allの存在を利用するものであり、もう1つはそれらのレガシーユーザーエージェントのみをサポートし、その存在を最初にテストすることなくdocument.allオブジェクトを利用するもののである。[JAVASCRIPT]

2.5.2.2 HTMLFormControlsCollectionインターフェイス

HTMLFormControlsCollectionインターフェイスは、form要素で記載要素コレクションに使用される。

collection.length

collectionの要素数を返す。

element = collection.item(index)
element = collection[index]

collectionのインデックスindexにあるアイテムを返す。アイテムはツリー順にソートされる。

element = collection.namedItem(name)
radioNodeList = collection.namedItem(name)
element = collection[name]
radioNodeList = collection[name]

collection.からのIDまたはname nameとともにアイテムを返す。

複数のマッチするアイテムが存在する場合、それらの要素すべてを含むRadioNodeListオブジェクトが返される。

radioNodeList.value

RadioNodeList/value

Support in all current engines.

Firefox33+Safari7+Chrome21+
Opera?Edge79+
Edge (Legacy)12+Internet Explorer9+
Firefox Android?Safari iOS7+Chrome Android?WebView Android?Samsung Internet?Opera Android?

radioNodeListで表される最初にチェックされたラジオボタンの値を返す。

radioNodeList.value = value

valueを持つradioNodeListで表される最初の最初のラジオボタンをチェックする。

2.5.2.3 HTMLOptionsCollectionインターフェイス

HTMLOptionsCollection

Support in all current engines.

Firefox1+Safari3+Chrome1+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer6+
Firefox Android?Safari iOS1+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

HTMLOptionsCollectionインターフェイスは、option要素のコレクションに使用される。常にselect要素がルートであり、要素の子孫をコントロールする属性およびメソッドを持つ。

collection.length

collectionの要素数を返す。

collection.length = value

既存の長さよりも小さい数に設定するとき、collectionに対応するコンテナー内のoption要素の数が切り捨てられる。

既存の長さよりも大きい数に設定するとき、collectionに対応するコンテナーに新しい空のoption要素が追加される。

element = collection.item(index)
element = collection[index]

collectionのインデックスindexにあるアイテムを返す。アイテムはツリー順にソートされる。

collection[index] = element

indexコレクションで項目の数より大きい数である場合、対応するコンテナーで新しい空白のoption要素を追加する。

nullに設定する場合、collectionからインデックスindexで項目を削除する。

option要素に設定するとき、collectionのインデックスindexで追加または置換される。

element = collection.namedItem(name)
element = collection[name]

collection.からのIDまたはname nameとともにアイテムを返す。

複数のマッチするアイテムが存在する場合、最初のものが返される。

collection.add(element[, before])

beforeによって与えられるノードの前の要素を挿入する。

before引数は数字でもよく、その場合elementはその数字をもつアイテムの前に挿入され、またはcollectionからの要素でもよい。その場合elementはその要素の前に挿入される。

beforeが省略された、null、または範囲外の数字の場合、elementはリストの最後に加えられるだろう。

elementに挿入された要素が親要素である場合、"HierarchyRequestError" DOMExceptionを投げる。

collection.remove(index)

collectionからのインデックスindexをもつ項目を削除する。

collection.selectedIndex

もしあるならば、最初に選ばれたアイテムのインデックスを、または選択したアイテムが存在しない場合−1を返す。

collection.selectedIndex = index

collection内のインデックスindexoption要素に選択を変更する。

2.5.3 DOMStringListインターフェイス

DOMStringList

Support in all current engines.

Firefox1+Safari5.1+Chrome1+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS5+Chrome Android?WebView Android3+Samsung Internet?Opera Android12.1+

DOMStringListインターフェイスは、文字列のリストを表現する非流行のレトロな方法である。

strings.length

strings内の文字列の数を返す。

strings[index]
strings.item(index)

stringsからインデックスindexをもつ文字列を返す。

strings.contains(string)

stringsstringが含まれる場合はtrueを返し、そうでなければfalseを返す。