首頁 >web前端 >css教學 >如何在 JavaScript 中刪除具有特定前綴的類別?

如何在 JavaScript 中刪除具有特定前綴的類別?

Linda Hamilton
Linda Hamilton原創
2024-11-28 02:19:101016瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn