HTML DOMのclassListプロパティとは?使い方と主要メソッドをわかりやすく解説
HTML DOMのclassListプロパティは、HTML要素に関連付けられたクラス名を取得するためのプロパティです。戻り値はDOMTokenListという形式で、これは空白区切りのトークンの集合を表します。classListプロパティを利用すると、要素に対するCSSクラスの追加・削除・切り替え(トグル)を簡単に行うことができます。
classListプロパティ自体は読み取り専用ですが、add()メソッドやremove()メソッドを使うことで、要素のクラスを追加・削除できます。
classListのプロパティ
classListには以下のプロパティがあります。
| プロパティ | 説明 |
|---|---|
| length | リストに含まれるクラスの数を返します。読み取り専用です。 |
classListのメソッド
classListには以下のメソッドがあります。
| メソッド | 説明 |
|---|---|
| add(class1, class2, class3...) | 要素に1つ以上のクラス名を追加します。すでに同じクラスが存在する場合は、重複して追加されることはありません。 |
| contains(class) | 要素が指定したクラス名を持っているかどうかを真偽値(Boolean)で返します。trueなら指定したクラス名を含み、falseなら含まないことを意味します。 |
| item(index) | 指定したインデックス番号に対応するクラス名を返します。インデックスは0から始まり、範囲外の番号を指定した場合はnullが返されます。 |
| remove(class1, class2, class3...) | 要素から1つ以上のクラス名を削除します。remove()で指定したクラスが存在しない場合でも、エラーは発生しません。 |
| toggle(class, true|false) | 要素のクラス名を切り替えます。第1引数に指定したクラスが存在しない場合は追加してtrueを返し、すでに存在する場合は削除してfalseを返します。第2引数は省略可能で、真偽値を渡すと現在の状態に関係なく、クラスの追加または削除を強制できます。 |
構文
classListプロパティの構文は以下のとおりです。
element.classList
サンプルコード
HTML DOMのclassListプロパティの具体的な使用例を見てみましょう。
<!DOCTYPE html>
<html>
<head>
<style>
.firstDiv {
width: 200px;
height: 200px;
padding: 15px;
border: 1px double blue;
position:relative;
top:10px;
}
.secondDiv {
background-color: lightgreen;
color: red;
}
.thirdDiv {
text-transform: capitalize;
text-align: center;
font-size: 30px;
}
</style>
</head>
<body>
<p>下のボタンをクリックすると、div要素にクラスが追加されます</p>
<button onclick="classAdd()">ADD CLASS</button>
<br>
<div id="DIV1">
sample div
</div>
<script>
function classAdd() {
document.getElementById("DIV1").classList.add("firstDiv", "secondDiv", "thirdDiv");
}
</script>
</body>
</html>実行結果
上記のコードを実行すると、最初は次のように表示されます。

「ADD CLASS」ボタンをクリックすると、次のようになります。

コードの解説
この例では、まずdiv要素と、後からdivへ追加する3つのCSSスタイルクラスを定義しています。
.firstDiv {
width: 200px;
height: 200px;
padding: 15px;
border: 1px double blue;
position:relative;
top:10px;
}
.secondDiv {
background-color: lightgreen;
color: red;
}
.thirdDiv {
text-transform: capitalize;
text-align: center;
font-size: 30px;
}
<div id="DIV1">
sample div
</div>次に、クリックされたときにclassAdd()関数を実行する「ADD CLASS」ボタンを作成しています。
<button onclick="classAdd()">ADD CLASS</button>
classAdd()関数は、idに「DIV1」が設定された要素(この例では<div>要素)を取得し、classListプロパティのadd()メソッドを使って、firstDiv・secondDiv・thirdDivの3つのクラスを<div>要素に一括で追加しています。
function classAdd() {
document.getElementById("DIV1").classList.add("firstDiv", "secondDiv", "thirdDiv");
}
-
HTML DOM StyleのpageBreakInsideプロパティとは?構文と使い方を実例付きで解説
HTML DOMのpageBreakInsideプロパティは、HTML文書内の特定の要素「内部」における改ページ(ページ区切り)の挙動を取得・変更するためのプロパティです。主に印刷や印刷プレビューの際に、要素の途中でページが分断されるのを防ぎたい場合などに活用されます。構文pageBreakInsideプロパティの基本的な構文は以下のとおりです。1. 値を取得する場合object.pageBreakInside2. 値を設定する場合object.pageBreakInside = value指定できる値valueには以下のいずれかの値を指定できます。値説明auto必要に応じて、要素の内部に改ペ
-
HTML DOMのdisplayプロパティとは?使い方と全設定値をわかりやすく解説
HTML DOMのdisplayプロパティは、要素の表示形式(表示タイプ)を設定または取得するために使用されるプロパティです。要素の表示は主に「block(ブロック)」と「inline(インライン)」の2種類に分類されます。また、display:noneを指定することで、要素を画面上から完全に非表示にすることも可能です。 displayプロパティの構文 displayプロパティを設定する場合の構文は以下のとおりです。 object.style.display = value displayプロパティに指定できる値の一覧 displayプロパティには、以下のような値を指定できます。 値説明