2010年10月11日


JavaScript : ページの中の全てを参照する

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>


posted by at 10:58 | Comment(0) | JavaScript | このブログの読者になる | 更新情報をチェックする


この記事へのコメント
コメントを書く
お名前:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。