2011年11月14日

続JavaScriptで行く

MacBook Airを使っていたら無性に欲しくなったのでiPod touchも買ってしまいました。
だんだんとApple製品に染まっていっているgood sun晴れこと山口です。

iPod touchと言えばiPhoneから電話と3G通信やGPS機能を取り除いた程度で、
iOSを搭載して様々なアプリケーションを実行する事が出来る上、
wifi環境があればインターネットも出来てしまうというリッチ有料なデバイスです。
なんとJavaScriptでiPhone等の特徴的な操作方法であるタッチ処理手(パー)が出来るということで、
今回はそんなお話を…と思ったのですが、
その為の素材の用意が間に合いませんでしたので、
原点とも言えるJavaScript+HTMLのお話をしたいと思います。

HTMLと聞くとホームページを作ったことがある人ならば、
<html>〜</html>といったタグを使ったページ作りを思い浮かべるでしょうか。
今見ているこのブログも内部的にはそのように作られています。

しかし、なんとJavaScriptを使うとほとんどのタグを書かずにHTMLを作成する事が出来てしまいます。
<html><body><script>
のタグだけあれば様々な要素を持ったwebページを作ることが出来ます。
というのもタグを使った要素の記述以外にスクリプトから動的な要素の生成が行えるのです。

例えばテーブルはHTMLを使った場合次のように書けますが、

<html>
<body>
<table>
<tr>
<td>これはHTMLタグでの</td>
<td>テーブルの</td>
<td>サンプルです</td>
</tr>
</table>
</body>
</html>

JavaScriptを利用すると

<html>
<body></body>
<script type="text/javascript" charset="UTF-8">
var td0 = new document.createElement("td");
var td1 = new document.createElement("td");
var td2 = new document.createElement("td");
var tr = new document.createElement("tr");
var table = new document.createElement("table");
td0.innerText = "これはJavaScriptでの";
td1.innerText = "テーブルの";
td2.innerText = "テストです";
tr.appendChild(td0);
tr.appendChild(td1);
tr.appendChild(td2);
table.appendChild(tr);
document.body.appendChild(table);
</script>
</html>

こんな感じで書くことが出来ます。
如何でしょう?
各要素を作成してそれぞれを子要素として格納していきます。
プログラマには合理的な作り方だと感じられるのではないでしょうか。

私が初めてこの書き方を知ったときはとてもワクワクしましたわーい(嬉しい顔)
最初から要素を変数として取得しておけるので、
細かい制御がしやすくなってちょっと複雑な仕組みも簡単に作れそうだなぁと。
こうした新しい発見から来るはワクワクは新しい発想に繋がり易いので大切にしていきたいです。

では今回はこの辺で。
タッチ処理手(パー)も機会があれば是非お披露目したいです。


posted by 管理人 at 20:28 | プログラミング