WEB制作の学習帳

WEB制作を様々な視点から学ぶブログ

DOMとは3

id名と要素名を組み合わせてみる

今回のソースコードのような場合、特定のリストや表組みにアクセスするには、はじめにid要素で絞り込み、更にその中の特定の要素名を指定すると良い。

 

具体的な使い方を記述してみよう。

id名【solar】に含まれるli要素の数を取得して表示させる。

start31.htmlファイルに下記コードを書き加えなさい

 

<script type="text/javascript" src="dom01.js"></script>

 

1.DWから新規javascriptファイルを作成

2.下記ソースコードを追加

 

function planets(){
var solarSys = document.getElementById('solar');
var solarLi = solarSys.getElementsByTagName('li');
var solarNum = solarLi.length;
alert('太陽系には' + solarNum + '個の惑星が存在します。');
}

 

dom01.jsとして保存

 

jsの解説

functionでplanetsという関数を定義。続く{ }の中が関数planetsが呼び出されたときに行われる処理となる。

 

1.変数【solarSys】を宣言し、getElementByIdメソッドを使用してid名でsolarにアクセス。

 

2.変数【sloarLi】を宣言して変数【solarSys】に対しgetElementsByTagNameメソッドを使用して要素名liを指定。これによりHTMLドキュメント中のid名でsolarに含まれるli要素だけが指定された。

 

3.変数【solarNum】を宣言し、【solarLi】に対しlengthプロパティでその数を習得、これでアラートで開いた際に【solarNum】を引数として使用するとその数が表示される。

 

これでHTMLドキュメント中から特定の要素を探し出し、それがいくつ存在するのかを書き出すことが出来た。

 

イベントと組み合わせてみる 

最後のアラートの部分だが実際にアラートを表示させる部分をユーザーが必要に応じてその情報を表示させるようにしてみる。

 

start31.html内の58行目<!--関数planetsを呼び出す-->の手前に

<button onclick="planets();">惑星の数</button>

を追加。

 

start31_fin.htmlとしてファイルを保存すること。

 

解説

HTMLのbutton要素を配置、button要素内に記述しているonclick="planets"();"がdom01.jsファイル中のfunction planets()を実行するきっかけの部分となる。onclickの部分をイベントといいonclickイベントに対応した処理であるplanets();部分をイベントハンドラという。

 

図解

f:id:s19biz:20150811222419j:plain

 

 

f:id:s19biz:20150811222453j:plain

 

ミニテスト

start31_fin.html及びdom01.jsとして保存したファイルに更に【火星の衛星の数】を表示させるスクリプトとボタンを追加させる。

 

・関数名と変数名は任意で設定して可

 

※150812_名前_domtest.htmlとdom02.jsとして別名保存すること

 

ヒント

火星の衛星の数はidでmarsと指定されたdiv要素の中に含まれる表組においてth要素でマークアップされているものと同じ数である。

 

 

重要語句

DOM

DocumentObjectModelの略

 

イベント

処理を行うためのきっかけ

 

イベントハンドラ

イベントに対応した処理

 

DOM API

DOMにおけるApplication Program Interfaceの略。

ノードにアクセスして操作をするための手段

 

DLして使う画像

右クリック→別名保存

f:id:s19biz:20150812110918j:plain