0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

JavaScriptを基本からまとめてみた【10】【classList.addメソッド】

Last updated at Posted at 2021-08-14

##はじめに

####学習するに至った経緯

2020年より、未経験からエンジニアへの転職を目指し、某プログラミングスクールへ通う。
入学後、『Ruby』を未経験から学ぶ人が多いのと『Ruby』の求人が思っていた以上に少ないので、
卒業後、フロントエンドのエンジニアを目指す事に。
Javascriptの学習した事を言語化し、認識の深化による備忘録として記載。

##classListとは
『classList』とは特定の要素のクラス名を追加したり、削除したり、参照したりすることが出来る便利なプロパティで、classListの後にメソッドを定義することにより、追加削除などの機能を指定することができる。

#####classListに用意されているメソッド

メソッド名 機能
add クラスを追加する
remove クラスを削除する
contains クラスが含まれているか確認する
toggle クラスが含まれていれば削除、含まれていなければ追加する

##addメソッドとは

『addメソッド』とは指定した文字列などをclassに対して追加するメソッド。classはHTMLのスタイル指定に使う属性。
JavaScriptでHTMLのタグを取得すると、「classList」がプロパティとして入る。classListは、HTMLのclassの変更や削除などの操作をするメソッドを持っており、その中の要素に対して追加を行うメソッドがaddとなる。

##addメソッドの使い方

JavaScriptでエレメントを取得し、.add(【追加するクラス名】)とすることで使用可能。

##class属性を追加する方法

addメソッドを使用した場合、HTMLにはclass属性が追加される。
追加するクラス名を複数指定することで、複数のクラスを追加することも可能。

##add()  使用例

####sample : 1
① add()はclassの追加ができ、例として、ボタンクリックでclassを追加するようにする。

<div id="sample">サンプル</div>
<button id="btn">変更</button>

② 追加するclassによってスタイルが変わるように適当にCSSを用意。

.is-red {
    color: red;
}
.is-large {
font-size: 28px;
}

③ 追加したいclass名をadd()で指定したら、ボタンクリック時にclassを追加することができる。

document.getElementById('btn').addEventListener('click', function() {
    document.getElementById('sample').classList.add('is-red');
});

####sample : 2

① ②を使用する。
③ カンマ区切りで複数のclassも設定できる。ただしIEでは複数指定は対応しておらず、1つ目のclassのみ適用される。

document.getElementById('btn').addEventListener('click', function() {
    document.getElementById('sample').classList.add('is-red', 'is-large');
});

####sample : 3
① ②を使用する。
③ 配列の形で複数指定も可能です。 ※ この方法はスプレッド構文を使用しているため、対応していないIEだと構文エラーになる。

let classes = ['is-red', 'is-large'];
document.getElementById('btn').addEventListener('click', function() {
    document.getElementById('sample').classList.add(...classes);
});

####sample :4
① classを追加するためのHTMLを準備。 ※このコードではclassを変更するdivタグにIDとして、targetという名前をつける。

<!DOCTYPE html>
<html lang='ja'>
<head>
  <meta charset='UTF-8'>
</head>
<body>
  <div id='target' class='red'>ここにclassを追加することでスタイルを変更する</div>
</body>
</html>

② 追加するclassのCSSを準備。 ※ここでは、追加されたことがわかるように色をつけるスタイルを3つ用意する。

.red{
  background-color: red;
/*   背景が赤 */
}
.green{
  color: green;
/*   文字が緑 */
}
.blue{
  border: solid 2px blue;
/*   枠線が青 */
}

③ JavaScriptのソースを作成。 ※ HTMLのdivタグを取得し、classList.addメソッドで2つのclassを追加。

const div = document.getElementById('target');
div.classList.add('greet','blue');

##参考サイト
[JavaScriptのclassList.addメソッドを使ってclass属性を追加する方法を現役エンジニアが解説【初心者向け】]
(https://techacademy.jp/magazine/27026)
[JavaScriptのclassListを使ってみる]
(https://cly7796.net/blog/javascript/how-to-use-classlist/)
[【JavaScript】classListの使い方まとめ(add.remove.contains.toggle)]
(https://qiita.com/tomokichi_ruby/items/2460c5902d19b81cace5)

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?