あらかじめHTMLでボタンや画像に任意のID等を付けておいて、それをJavaScriptで読み取ることでJavaScriptとHTML/CSSの橋渡しをすることができます。
document.getElementById()メソッドの使い方
まずはHTMLで何でもいいのでIDを付けておきます。
<div id=”example_id”></div>
※example_id部分はID名につき任意
上のコードでは、IDが”example_id”となっています。これはdivを特定するためのIDであってdivの内容ではありません。変更したいのはdiv要素のIDではなくdiv要素の中身ですが、JavaScriptから直接「divの中身を編集する」と命令することはできません。編集するためには、IDが付いた内容(divタグの中身)を別の変数に読み替えて、その変数を編集する必要があります。
変数名 = document.getElementById(‘要素のID’);
documentオブジェクトというのはそのページ全体のことで、documentの中で指定したIDを検索しています。getElementByIdメソッドはdocumentオブジェクトにのみ使用可能です。pでもimgでもh2でも、IDさえ付いていれば好きなタグを取得することができます。
取得できる対象がない場合はnullが返されます。
<!-- html -->
<!-- divタグにIDを設定 -->
<div id="example_id"></div>
//JavaScript
js_id = document.getElementById("example_id");
変数「js_id」には、ID「examole_id」を使用するdiv要素の中身が代入されました。
この記事ではテキストの出力に、下記のメソッドを使っています。
オブジェクト.innerHTML = “内容”;
実際にやってみましょう。まず、↓ここに、JavaScriptの文字列を表示するためのdiv(<div id=”examole_id”></div>)を配置しておきます。
そしてonclick=”ButtonClick();”を設定したを押すことで、JavaScriptがdivのIDを読み取って変数へ代入し、変数に対してinnerHTMLで文字列の変更を指示します。
実際に使用しているコードは次のようになります(Scriptは省略)。
function ButtonClick() {
js_id = document.getElementById("example_id");
js_id.innerHTML = "JavaScriptでHTMLに出力";
}
ひとつのHTMLに複数の同じIDが存在する場合は、動作は保障の限りではありません。余計な間違いを避けるために名前はかぶりにくいものにし、ひとつのHTMLに同じIDが重複しないようにしましょう。
コメント