「Document Object Model」を含む日記 RSS

はてなキーワード: Document Object Modelとは

2007-09-13

初めてのJavaScript - アドレスバー

エディタなしでも大丈夫。アドレスバーJavaScriptを実行してみよう!

これでも一応javascript

アドレスバーに入れた場合、最後の値が表示されます。

javascript:"Hello world!"

ダイアログで表示

サンプルでは良くあるけれど、実際、ダイアログはほとんど使いません。でもちょっとしたデバッグには便利です。

javascript:alert("Hello alert() world!")

このとき「alert()」とは「window.alert()」を表します。windowオブジェクトブラウザの表示ウィンドウを表すオブジェクトです。windowオブジェクトプロパティやメソッドを使用する場合は、alertに限らず「window.」が省略できます。

ドキュメントに表示

これが「print "Hello world!"」に一番近と思います。

javascript:document.write("Hello document.write() world!"); document.close()

documentオブジェクトは表示中のドキュメント全体を表すオブジェクトです。

DOMで追加

Document Object Modelを利用して要素を追加します。

javascript:document.write("<html><body></body><html>"); document.close(); var p = document.createElement("p"); p.appendChild(document.createTextNode("Hello DOM world!")); document.body.appendChild(p);

現在ドキュメントHTMLであれば、先ほどの「document.write()」はHTMLを扱うことになります。これを使用してbody要素を作っておき、そこへp要素を追加しています。

[追記] createTextNodeを使用するように変更しました。

イベントハンドラを使用

DOMを使用した場合のメリットは後で要素を扱えることです。

javascript:document.write("<html><body>Hello world!</body><html>"); document.close(); p = document.createElement("p"); p.innerHTML = "Hello javascript world!"; document.body.appendChild(p); p.addEventListener("click", function(){this.style.borderStyle="solid"}, false)

イベントハンドラの使用方法は幾つかありますが、ここでは「addEventListener」を使用します(申し訳ありませんがIEでは動きません)。この例では、イベントに対するコールバック関数として無名関数の「function(){……}」が登録されます。p要素がクリックされたとき「function(){……}」が呼び出されます。このとき、this(変数ではありません!)が、要素pを示します。

 
ログイン ユーザー登録
ようこそ ゲスト さん