createElementの使い方
2007.03.16 Author: たわばがに
ということで、JavaScriptネタです。
とりあえず簡単なネタとして、今回はcreateElementについて取り上げてみようと思います。
名前から推測できると思いますが、その名前の通り、エレメント(オブジェクト)を生成します。
ここでのエレメントというのは、HTMLのタグのことです。
spanやらdivやらimgやら、色々作れます。
createElementで作ったエレメント(オブジェクト)に 対しては、
setAttributeで要素を追加したり、style.cssTextでスタイルの設定をしたりすることができます。
これらの追加要素はappendChildで適用(表示を反映)することができます。
逆にremoveChildで消すことも可能です。
これを用いることで、HTMLとJavaScriptで操作する要素を完全に切り分けることができます。
WEBデザイナさんからシステム用に加えておいたタグに関して、
「え~、このタグいるんですか? 表示に関係ないので、いらないと思って消しちゃいました~」
とか言われて顔を青くする、というようなことが減るかもしれません(笑)
で、サンプルとしてはこんなの↓。
この文字列をクリックすると、下に文字列が出るよ
この文字列をクリックすると、下に画像が出るよ
以下、ソース。
/** * spanエレメント(オブジェクト)追加 */ function displayString_createElement() { var o = document.createElement("span"); o.setAttribute("id", "js_koneta_01-01"); o.innerHTML = "JavaScript万歳!"; o.style.cssText = "font-weight: bold;" + "font-size: 12pt" + "color: #00ff00"; document.getElementById("js_koneta_01").appendChild(o); } /** * imgエレメント(オブジェクト)追加 */ function displayImage_createElement() { var o = document.createElement("img"); o.setAttribute("id", "js_koneta_01-01"); o.setAttribute("src", "images/js/analysis_back.jpg"); document.getElementById("js_koneta_01").appendChild(o); } /** * エレメント(オブジェクト)消去 */ function deleteElement_createElement() { o = document.getElementById("js_koneta_01-01"); document.getElementById("js_koneta_01").removeChild(o); }サンプルでは書いていませんが、
document.body.appendChild(object);というような、body自体を指定することも可能です。
ブラウザ内に絶対座標でオブジェクトを表示する場合などは、
こちらの方が使い勝手がいいかもしれません。
簡単ですが、こんなところで。