document オブジェクトに3つのメソッドが用意されています。
これらのメソッドでページ内のエレメント(要素)を直接参照する事ができます
getElementById
IE : http://msdn.microsoft.com/en-us/library/ms536437.aspx
mozilla : https://developer.mozilla.org/ja/DOM/document.getElementById
getElementsByName
IE : http://msdn.microsoft.com/en-us/library/ms536438.aspx
mozilla : https://developer.mozilla.org/ja/DOM/document.getElementsByName
getElementsByTagName
IE : http://msdn.microsoft.com/en-us/library/ms536439.aspx
mozilla : https://developer.mozilla.org/ja/DOM/document.getElementsByTagName
getElementsByTagName は、各要素にも存在するメソッドなので、TABLE 内の TD 要素のみを全て
取得して、ループで全TD 内のテキストを取得するというような事に使う事ができます
また、getElementsByTagName では、特定要素のかわりに "*" を使う事ができます
( 全ての要素です )
<script type="text/javascript">
for( i = 0; i < document.getElementsByTagName("*").length; i++ ) {
console.log(document.getElementsByTagName("*")[i].tagName );
}
</script>
フォーム内の要素
フォームとフォーム内の入力用要素に name 属性が設定されていると、
document.フォーム名.入力要素名で参照する事ができます。
<form name=myForm>
<input type="text" name="myFld" value="日本語表示">
</form>
<script type="text/javascript">
alert(document.myForm.myFld.value);
alert(document["myForm"]["myFld"].value);
</script>
document.フォーム名.入力要素名 は、
document["フォーム名"]["入力要素名"] と書きかえる事もできます
特別な定義済の body 要素
document.body で、document.getElementsByTagName("BODY")[0] と
同じものを参照する事ができます。
parentNode メソッドで一つ上の要素を参照
HTML エレメントは、階層構造になっているので、自分自身を示す this から
一つ上の要素を介して、他の要素を参照する事も可能です。
<div>
<span>a</span>
<span onclick='this.parentNode.getElementsByTagName("SPAN")[0].style.color="#ff0000"'>b</span>
<span onclick='this.parentNode.getElementsByTagName("SPAN")[3].style.color="#0000ff"'>c</span>
<span>d</span>
</div>