ホームページ > ウェブフロントエンド > CSSチュートリアル > JavaScript で特定のプレフィックスを持つクラスを削除するにはどうすればよいですか?

JavaScript で特定のプレフィックスを持つクラスを削除するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-28 02:19:10
オリジナル
1016 人が閲覧しました

How to Remove Classes with a Specific Prefix in JavaScript?

特定のプレフィックスを持つクラスを削除する方法

問題ステートメント

ID が「a」の div 要素があり、それに複数のクラスがアタッチされています。特定のプレフィックスごとにグループ化されています。特定のクラス名を知らずに、特定のグループからすべてのクラスを削除したいとします。たとえば、すべての "bg" プレフィックス クラスを削除することを目的とします。

ソリューション

正規表現アプローチ:

var prefix = "bg";
var classes = $("#a").attr("class").split(" ").filter(function(c) {
    return !(c.match("^" + prefix + "\b"));
});
$("#a").attr("class", classes.join(" "));
ログイン後にコピー

ループアプローチ:

var prefix = "bg";
var classes = $("#a").attr("class").split(" ");
for (var i = 0; i < classes.length; i++) {
    if (classes[i].startsWith(prefix)) {
        classes.splice(i, 1);
        i--;
    }
}
$("#a").attr("class", classes.join(" "));
ログイン後にコピー

jQuery プラグイン (ES5):

$.fn.removeClassPrefix = function(prefix) {
    return this.each(function() {
        var classes = $(this).attr("class").split(" ").filter(function(c) {
            return !c.startsWith(prefix);
        });
        $(this).attr("class", classes.join(" "));
    });
};

$("#a").removeClassPrefix("bg");
ログイン後にコピー

ES6 代替 (よりクリーンな構文):

const prefix = "bg";
const classes = $("#a").attr("class").split(" ").filter(c => !c.startsWith(prefix));
$("#a").attr("class", classes.join(" "));
ログイン後にコピー

以上がJavaScript で特定のプレフィックスを持つクラスを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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