JavaScript: classList、className、正規表現を使った要素のクラス判定

2024-04-02

ここでは、JavaScriptで要素にクラスが含まれているかどうかを確認する3つの方法を紹介します。

classList プロパティを使用する

最もシンプルで効率的な方法は、classList プロパティを使用する方法です。classList プロパティは、要素のクラス名のリストを表すオブジェクトです。

<div id="my-element" class="active important">
  ...
</div>

以下のコードは、my-element 要素に active クラスが含まれているかどうかを確認します。

const element = document.getElementById('my-element');

if (element.classList.contains('active')) {
  // `active` クラスが含まれている場合の処理
} else {
  // `active` クラスが含まれていない場合の処理
}

classList.contains() メソッドは、引数で指定したクラス名が存在するかどうかをtrue/falseで返します。

className プロパティは、要素のクラス名の文字列を取得または設定するために使用できます。

const element = document.getElementById('my-element');

if (element.className.includes('active')) {
  // `active` クラスが含まれている場合の処理
} else {
  // `active` クラスが含まれていない場合の処理
}

className プロパティはスペース区切りの文字列なので、includes() メソッドを使用して、引数で指定したクラス名が存在するかどうかを調べることができます。

正規表現を使用する

より複雑な条件でクラスの存在をチェックしたい場合は、正規表現を使用することができます。

const element = document.getElementById('my-element');

const regex = /\bactive\b/;

if (regex.test(element.className)) {
  // `active` クラスが含まれている場合の処理
} else {
  // `active` クラスが含まれていない場合の処理
}

\b は単語境界を表す正規表現です。このコードは、active クラス名が単語境界に囲まれているかどうかを調べます。

以上、JavaScriptで要素にクラスが含まれているかどうかを確認する3つの方法を紹介しました。それぞれの方法にはメリットとデメリットがあるので、状況に合わせて適切な方法を選択してください。




classList プロパティを使用する

<div id="my-element" class="active important">
  ...
</div>
const element = document.getElementById('my-element');

// `active` クラスが含まれているかどうかを確認
if (element.classList.contains('active')) {
  console.log('要素は `active` クラスを持っています');
} else {
  console.log('要素は `active` クラスを持っていません');
}

// `important` クラスが含まれているかどうかを確認
if (element.classList.contains('important')) {
  console.log('要素は `important` クラスを持っています');
} else {
  console.log('要素は `important` クラスを持っていません');
}

className プロパティを使用する

<div id="my-element" class="active important">
  ...
</div>
const element = document.getElementById('my-element');

// `active` クラスが含まれているかどうかを確認
if (element.className.includes('active')) {
  console.log('要素は `active` クラスを持っています');
} else {
  console.log('要素は `active` クラスを持っていません');
}

// `important` クラスが含まれているかどうかを確認
if (element.className.includes('important')) {
  console.log('要素は `important` クラスを持っています');
} else {
  console.log('要素は `important` クラスを持っていません');
}

正規表現を使用する

<div id="my-element" class="active important">
  ...
</div>
const element = document.getElementById('my-element');

// `active` クラスが含まれているかどうかを確認
const regex = /\bactive\b/;
if (regex.test(element.className)) {
  console.log('要素は `active` クラスを持っています');
} else {
  console.log('要素は `active` クラスを持っていません');
}

// `important` クラスが含まれているかどうかを確認
const regex2 = /\bimportant\b/;
if (regex2.test(element.className)) {
  console.log('要素は `important` クラスを持っています');
} else {
  console.log('要素は `important` クラスを持っていません');
}



hasAttribute() メソッドは、要素が特定の属性を持っているかどうかを確認するために使用できます。

const element = document.getElementById('my-element');

// `active` クラスを持っているかどうかを確認
if (element.hasAttribute('class')) {
  console.log('要素は `class` 属性を持っています');
} else {
  console.log('要素は `class` 属性を持っていません');
}
const element = document.getElementById('my-element');

// `class` 属性の値を取得
const className = element.getAttribute('class');

// `active` クラスが含まれているかどうかを確認
if (className.includes('active')) {
  console.log('要素は `active` クラスを持っています');
} else {
  console.log('要素は `active` クラスを持っていません');
}

jQueryを使用している場合は、hasClass() メソッドを使用して、要素にクラスが含まれているかどうかを確認できます。

const element = $('#my-element');

// `active` クラスを持っているかどうかを確認
if (element.hasClass('active')) {
  console.log('要素は `active` クラスを持っています');
} else {
  console.log('要素は `active` クラスを持っていません');
}

これらの方法は、上記で紹介した3つの方法よりも汎用性が高いですが、パフォーマンスが劣る場合もあります。


javascript html css


JavaScript/HTML/CSSで「Wait cursor over entire html page」を実現する方法

CSSのみを使用する方法は、最もシンプルで簡単です。以下のコードをHTMLファイルの <head> 要素内に追加します。このコードは、body 要素のカーソルを wait に設定します。wait カーソルは、ブラウザによって異なりますが、一般的には砂時計のようなアニメーションが表示されます。...


JavaScriptオブジェクトリテラルで変数をキーとして使用する: 詳細ガイド

動的なキーの生成: プログラム実行時にキーを決定できるため、柔軟性が向上します。コードの簡潔化: 繰り返し処理などで同じキーを頻繁に使用する際に、コードをより簡潔に記述できます。再利用可能性: キー名を変数に格納することで、複数のオブジェクトで同じキーを再利用しやすくなります。...


JavaScript 配列操作:要素を別の位置へ移動する

JavaScriptの配列で要素を別の位置に移動するには、いくつかの方法があります。それぞれの特徴と使い分けを以下に説明します。splice() メソッドは、配列の要素を挿入、削除、移動するための最も汎用性の高い方法です。以下の構文で使用します。...


AngularJSで$http.getリクエストにカスタムヘッダーを渡す

クエリパラメータは、URLの?以降に続くキーと値のペアで構成されます。$http. getメソッドにparamsオプションを渡すことで、リクエストにクエリパラメータを追加できます。上記の例では、/data/usersというURLにGETリクエストを送信し、idとnameという2つのクエリパラメータを含めます。...


JavaScriptで科学計算と数値計算: Node.jsにおけるNumPyライブラリ代替ソリューション

NumPyは、Pythonにおける科学計算と数値計算のための基盤となるライブラリです。多次元配列の操作、線形代数演算、高速フーリエ変換などの機能を提供します。Node. jsは、JavaScriptをランタイム環境として実行するサーバーサイドプラットフォームです。近年、データ分析や機械学習などの分野でNode...


SQL SQL SQL SQL Amazon で見る



【初心者向け】CSSクラス名とセレクターを使いこなして、レベルアップ!

有効な文字:ハイフン (-) を除く、すべての英数字 (a-z、A-Z、0-9)アンダーバー (_)ASCII 文字セットのその他の文字 (例: @、$)空白文字ハイフン (-) は、クラス名とセレクターの区切り文字として使用されます。日本語などの多言語文字


【2つの方法】JavaScriptとHTMLでクリックされたボタンのIDを取得する方法(サンプルコード付き)

このページでは、JavaScriptとHTMLを用いて、クリックされたボタンのIDを取得する方法について解説します。方法以下の2つの方法を紹介します。HTMLのonclick属性JavaScriptのaddEventListener()メソッド


JavaScript:DOM操作における祖先要素探索 - closest()メソッド vs 手動探索

HTMLドキュメントにおいて、ある要素から特定のクラスを持つ最も近い祖先要素を見つけることは、よくある操作の一つです。この操作には、主に以下の2つの方法があります。closest()メソッドは、Elementインタフェースの一部であり、指定されたCSSセレクターに一致する最も近い祖先要素(または自分自身)を返します。このメソッドは、シンプルでわかりやすいコードを書くことができます。