DOM操作の書き方
HTML の要素を操ったり、属性を操ったり。 スタイルを変更したりするのが、DOM 操作。
まずは対象を絞り込むところから。
セレクタを使って対象を定める
jQuery だとシンプルに書けたりするんだけど、今回は敢えて純粋な JavaScript でやっていこう。 いわゆるセレクタで絞り込むのは jQuery と一緒。
この辺が利用可能。 他にもあるけど滅多に使わないと思うので、省略。
JavaScript のスタンダードは キャメルケース という命名規則。キャメルケースはらくだのこぶのように、単語の頭文字だけを大文字にしてくっつけることで、1word とする書き方。最初だけは小文字。
そして、Elements は要素という意味なので、id の時は一意に定まる事から Element と記述される。 ClassName はちょっとややこしいかも知れないけど、プログラム用語で Class があるため混乱しないように ClassName となっている。
こうやったら憶えられそうじゃない?
要素の中の文字を変更する
一番シンプルな DOM 操作。要素の文字列を変更するときどうするか...。
innerHTML
と言うのが登場する。
こんな感じで、変数に代入するように書ける。対象の要素を決めて、要素の何に対して処理をするのか決めて、代入。簡単でしょ?
要素の属性を変更する
次にやることの多そうなのが、属性の変更。
img
タグの src
属性だけ変えたいとか、そういうとき。
setAttribute
と言うのが登場する。これは書き方がちょっと変わってくる。
このやり方を使えばタグの諸々もいじれるから何でもできそうだね!
クラス名の変更と追加
変更
このほかに登場しそうなのが、クラス名の変更や追加。 まずは変更を考えてみよう。
さっき登場した代入の仕方と一緒。簡単!
では続いて、追加。
追加
複数ならカンマ区切り、そうじゃ無ければ一つだけ書けばオッケー。 要素のクラスのリストに対して、追加という命令をしている感じだね。
削除
削除したいこともあるかもしれない。
追加と同じ流れだね。これも簡単じゃないかな。 コチラも複数ならカンマ区切りで書いてあげればオッケー。
切り替え
このクラス名があったら消す、無かったら付けるって言うこともあると思う。こういうのを「トグル」というんだけど、まさにトグルさせよう。
これで切り替えができる。ハンバーガーメニューとかはこれで作れそうだね。 トグルについては、複数同時指定ができないので気をつけて。
Last updated