Document Object Model
Written 10/1/00
2. オブジェクトの参照(2)
ここでは IE4以上でのみ可能なオブジェクトの参照法を述べます。
all
alldocument オブジェクトのプロパティで全てのオブジェクトのコレクションです。
  document.all(index)
 
index は0から始まる通し番号です。 またはそのオブジェクトの id または name プロパティでも参照できます。
例えば、次のようなテーブルがあったとします。

のの13
あい12

コードは次のようです。

  <TABLE ID=tbl1 BORDER>
   <TR ID=tr1><TD ID=td1>のの</TD><TD ID=td2>13</TD></TR>
   <TR ID=tr2><TD ID=td3>あい</TD><TD ID=td4>12</TD></TR>
  </TABLE>
 
ここには tabletrtd とあとヘッダ部以外のテーブルの本体を表す tbody のあわせて全部で8つのオブジェクトがあります。
この table は全体で24番目のオブジェクトのなので、 これらのオブジェクトは次のようにアクセスできます。
  for(var i = 23; i < 31; i++)
      alert(document.all(i).id);
 
id では次のようにアクセスします。
  alert(document.all("td1").innerText);
 
tags
tags メソッドを使うと同じタグのオブジェクトのコレクションが得られます。
  obj.tags(tag)
 
obj はコレクション、tag はそのタグの文字列です。
個々のオブジェクトは次のように参照します。
  obj.tags(tag)(index)
 
index は0から始まる通し番号です。 またはそのオブジェクトの id または name プロパティでも参照できます。
例えば、テーブルの個々のセルの値は次のように調べられます。
  var tds = document.all.tags("td");
  for(var i = 0; i < tds.length; i++)
      alert(tds(i).innerText);
 
children/parentElement
オブジェクトの下の階層のオブジェクトのコレクションを得るには children メソッドを用います。
  obj.children
 
個々のオブジェクトは次のように参照します。
  obj.children(index)
 
index は0から始まる通し番号です。 またはそのオブジェクトの id または name プロパティでも参照できます。
例えば、テーブルの1行目の個々のセルの値は次のように調べられます。
  var tds = document.all("tr1").children;
  for(var i = 0; i < tds.length; i++)
      alert(tds(i).innerText);
 
逆に上の階層のオブジェクトを得るには parentElement プロパティを用います。
  obj.parentElement
 
Back