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

Bagaimana untuk Mengeluarkan Kelas dengan Cekap dengan Awalan Khusus dalam JavaScript?

Linda Hamilton
Lepaskan: 2024-11-30 02:46:14
asal
119 orang telah melayarinya

How to Efficiently Remove Classes with a Specific Prefix in JavaScript?

Mengurus Kelas dengan Awalan Tertentu

Memanipulasi kelas dalam JavaScript boleh mencabar, terutamanya apabila berurusan dengan berbilang kelas milik kumpulan berbeza dengan awalan unik . Artikel ini meneroka isu biasa: mengalih keluar kelas dengan awalan tertentu daripada elemen DIV dan menggantikannya dengan yang baharu.

Masalahnya

Andaikan anda mempunyai DIV elemen dengan ID "a" yang boleh mempunyai berbilang kelas daripada pelbagai kumpulan. Setiap kumpulan mempunyai awalan tertentu. Walau bagaimanapun, dalam kod JavaScript anda, anda mungkin tidak tahu kelas mana daripada kumpulan tertentu yang diperuntukkan kepada elemen DIV pada masa ini. Matlamat anda adalah untuk mengalih keluar semua kelas dengan awalan seperti "bg" dan menambah yang baharu. Coretan kod berikut menggambarkan isu:

$("#a").removeClass("bg*");
Salin selepas log masuk

Walau bagaimanapun, kod ini tidak berfungsi seperti yang diharapkan.

Penyelesaian

Pendekatan yang lebih mantap ialah menggunakan ungkapan biasa yang membahagikan nama kelas pada sempadan perkataan dan menapis kelas yang tidak mempunyai awalan yang ditentukan. Berikut ialah contoh:

var prefix = "bg";
var classes = el.className.split(" ").filter(function(c) {
    return c.lastIndexOf(prefix, 0) !== 0;
});
el.className = classes.join(" ").trim();
Salin selepas log masuk

Sebagai alternatif, anda boleh mencipta mixin jQuery untuk memudahkan proses ini:

$.fn.removeClassPrefix = function(prefix) {
    this.each(function(i, el) {
        var classes = el.className.split(" ").filter(function(c) {
            return c.lastIndexOf(prefix, 0) !== 0;
        });
        el.className = $.trim(classes.join(" "));
    });
    return this;
};
Salin selepas log masuk

Untuk menggunakan mixin ini, hanya panggil fungsi removeClassPrefix() pada DIV elemen, menyatakan awalan yang anda mahu alih keluar:

$("#a").removeClassPrefix("bg");
Salin selepas log masuk

Kemas Kini ES6 (2018)

Dalam JavaScript moden (ES6 dan ke atas), anda boleh menggunakan versi penyelesaian yang lebih mudah:

const prefix = "bg";
const classes = el.className.split(" ").filter(c => !c.startsWith(prefix));
el.className = classes.join(" ").trim();
Salin selepas log masuk

Kod ini memanfaatkan fungsi anak panah dan kaedah startsWith() untuk menapis kelas secara berkesan dengan yang ditentukan awalan.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan