Element.classList- 全てのクラス名を≠配列で取得する
投稿日: / 更新日:
JavaScriptの、ElementオブジェクトのclassList
は全てのクラスを取得するプロパティです。
説明
ElementオブジェクトのclassListプロパティは、その要素の全てのクラスを含んだDOMTokenList(≠配列)です。
<a class="syncer arayutw squirrel">SYNCER</a>
// aElement = <a class="syncer arayutw squirrel">SYNCER</a>
// a要素のclassList
// aElement.classList[0] = "syncer"
// aElement.classList[1] = "arayutw"
// aElement.classList[2] = "squirrel"
DOMTokenListは配列と似て非なるものです。配列のようにhoge[0]、hoge[1]とキー番号で参照したりlengthプロパティで要素数を確認できます。また、add()
やremove()
など専用のメソッドを利用できます。ただし、forEach()
など配列に使えるメソッドは利用できません。
// classListを文字列としてコンソールに出力 ( "syncer arayutw squirrel" )
console.log( aElement.classList ) ;
DOMTokenListの特徴として、このオブジェクトを文字列として扱うと、全ての要素を半角スペース(
)で区切って一つなぎにしてくれます。なので、例えばaElement.classList
を、そのままclassNameプロパティの値に指定することもできます。
サンプルコード
<a id="target" class="syncer arayutw squirrel">SYNCER</a>
// 要素を取得 ( → <a id="target" class="syncer arayutw squirrel">SYNCER</a> )
var aElement = document.getElementById( "target" ) ;
// classListを取得
var classList = aElement.classList ;
// classList[0] = syncer
// classList[1] = arayutw
// classList[2] = squirrel
デモ
a要素のclassListプロパティ(DOMTokenList)を取得して表示します。DOMTokenListは文字列として扱うと、各要素を空白で区切ってくれます。コンソールでDOMTokenListの中身を確認できます。
構文
readonly DOMTokenList classList = Element.classList
返り値
項目 | 説明 |
---|---|
classList | 全てのクラスを含んだDOMTokenList。 |
関連項目
- Location - ブラウザロケーションのオブジェクト。
- Location.assign() - コンテンツをロードして表示する。
- Location.reload() - ドキュメントをリロードする。
- Location.replace() - 現在のURLを置換する。
外部リンク
- HTML Living Standard - WHATWGによる仕様書。