ティラノスクリプトでのJavaScript発展編

JavaScript

t f B! P L

JavaScriptの特徴

JavaScriptは、HTMLというマークアップ言語と密接な関係があるという大きな特徴があります。
HTMLとは、文書の構造を記述する言語です。言うなれば、「見た目」の部分です。(厳密にはむしろ見た目とは相反する部分なんですが、まあわかりやすい例えとして)

JavaScriptは、HTMLによって記述される見た目を操作することができます。HTMLを「DOM」とも言います。
JavaScriptについて書いた記事で「DOM」と言っていたら、おおよそHTMLのことだと思って大丈夫です。

htmlのidとclass

すべてのhtml要素には、id属性とclass属性を指定できます。
CSSを書いたことのある人なら知っていると思います。CSSでは、<div>などのHTML要素の他、id属性やclass属性を使ってスタイルを適用する要素を指定します。

JavaScriptでDOMを取得するときにも、HTML要素、id属性、class属性などを使います。

jQueryの話

基本編で簡単な説明をしました。jQueryとはJavaScriptの拡張パックみたいなもんですが、特にDOM操作に関する機能が充実したライブラリです。

jQueryでできることはそのままのJavaScriptでもできるんですが、ティラノスクリプトでは基本的にjQueryを使ってプログラムを書いているので、この記事ではjQueryでの書き方を優先します。バニラJSの記法は各自で調べて(気力が尽きた)

DOM操作の流れ

DOM操作の流れは、だいたい以下のような感じで進みます。

その1

  1. DOMを取得する
  2. DOMの要素を変更する

その2

  1. DOMを作成する
  2. DOMの要素を変更する
  3. DOMを別の要素に追加する
その1の方は、想像がつきやすいと思います。
たとえばこのようなHTMLがあったとします。
<div class="test">
<img id="image" src="image.png" />
</div>
<div>を取得し、取得した<div>に変更をする、というのがその1の例です。
その2の例を挙げると、<p>を新規に作成し、作成した<p>の各要素を変更して、<div>の中に追加する、というイメージです。

DOMを取得する

↑のhtml内のDOMを取得する例は以下のとおりです。
var elm1 = $("div")    //<div>を取得
var elm2 = $("#image")   //id="image"の要素を取得
var elm3 = $(".test")   //class="test"の要素を取得
var elm4 = $("div.test")  //<div>かつclass="test"の要素を取得
CSSを書いたことのある人は、HTML要素、id属性、class属性など、CSSと同じ書き方をしていることに気づくと思います。 「$()」で囲むことで、jQueryでDOMを記述することを宣言します。
「$("HTML要素名")」とすることで、指定したHTML要素を取得します。
「$("#id属性")」とすることで、指定したidの要素を取得します。
「$(".class属性")」とすることで、指定したclassの要素を取得します。

ここで、疑問の浮かんだ方もいると思います。
id属性は、HTML文書内に同じidはひとつしか指定できないけど、HTML要素やclass属性は複数指定できます。

その場合はどうなるかというと、該当する要素がすべて取得されます。
例えば以下のようなHTMLがあります。
<div class="test">
<img src="image.png" />
</div>
<div class="test">
<img src="image2.png" />
</div>
ここで「$(".test")」と記述すると、2つの<div>が両方とも取得され、操作対象となります。

DOMを取得するときは、うっかり変更するつもりのない要素まで取得してしまわないように、指定方法を気をつける必要があります。

DOMの要素を変更する

この説明は正直jQueryのリファレンスを見たほうが早いと思う…

DOMを追加する


DOMを削除する



タグ一覧最初から表示

このブログを検索

連絡先

名前

メール *

メッセージ *

QooQ