Rumah >hujung hadapan web >tutorial css >Bagaimana untuk mengalih keluar Kelas dengan Awalan Khusus dalam JavaScript?

Bagaimana untuk mengalih keluar Kelas dengan Awalan Khusus dalam JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-11-28 02:19:101018semak imbas

How to Remove Classes with a Specific Prefix in JavaScript?

Cara Mengalih Keluar Kelas dengan Awalan Tertentu

Pernyataan Masalah

Anda mempunyai elemen div dengan ID "a" dengan beberapa kelas dilampirkan pada ia, dikumpulkan mengikut awalan tertentu. Anda ingin mengalih keluar semua kelas daripada kumpulan tertentu tanpa mengetahui nama kelas tertentu. Contohnya, anda berhasrat untuk menghapuskan semua kelas awalan "bg".

Penyelesaian

Pendekatan Regex:

var prefix = "bg";
var classes = $("#a").attr("class").split(" ").filter(function(c) {
    return !(c.match("^" + prefix + "\b"));
});
$("#a").attr("class", classes.join(" "));

Pendekatan Gelung :

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 Pemalam (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");

Alternatif ES6 (Sintaks Lebih Bersih):

const prefix = "bg";
const classes = $("#a").attr("class").split(" ").filter(c => !c.startsWith(prefix));
$("#a").attr("class", classes.join(" "));

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar Kelas dengan Awalan Khusus dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn