ホームページ > ウェブフロントエンド > CSSチュートリアル > JavaScript DOM 要素に特定のクラスが含まれているかどうかを効率的に確認するにはどうすればよいですか?

JavaScript DOM 要素に特定のクラスが含まれているかどうかを効率的に確認するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-01 12:53:14
オリジナル
975 人が閲覧しました

How Can I Efficiently Check if a JavaScript DOM Element Contains a Specific Class?

JavaScript で要素にクラスが含まれているかどうかを確認する

JavaScript では、DOM 要素にクラスが含まれているかどうかを判断する必要があるシナリオが発生することがあります。特定のクラス。 element.className と switch ステートメントを使用した現在のアプローチは機能しますが、要素に複数のクラスがある場合には制限があります。

element.classList.contains() の使用

ブラウザ間の互換性を向上させるために、element.classList.contains() を利用できます。 method:

element.classList.contains(className);
ログイン後にコピー

このメソッドは、要素が指定されたクラスを持つかどうかを示すブール値を返します。これは、すべての主要なブラウザでサポートされています。

indexOf を使用した代替アプローチ

element.classList をサポートしていないレガシー ブラウザを使用している場合は、次のように変更できます。既存のindexOfアプローチは次のようになります:

function hasClass(element, className) {
    return (' ' + element.className + ' ').indexOf(' ' + className+ ' ') > -1;
}
ログイン後にコピー

これにより、探しているクラスが一致する場合にのみチェックがtrueを返すことが保証されます。 for は別のクラス名に含まれていません。

実装例

更新された手法を例に適用します。

var test = document.getElementById("test"),
    classes = ['class1', 'class2', 'class3', 'class4'];

test.innerHTML = "";

for(var i = 0, j = classes.length; i < j; i++) {
    if(hasClass(test, classes[i])) {
        test.innerHTML = "I have " + classes[i];
        break;
    }
}
ログイン後にコピー

このアプローチでは、テスト要素に複数のクラスがある場合、その順序または追加のクラスが存在する場合でも、正しいクラスが確実に検出されます。

以上がJavaScript DOM 要素に特定のクラスが含まれているかどうかを効率的に確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート