Rumah >hujung hadapan web >tutorial css >Bagaimana untuk Mengalih keluar atau Menggantikan Lembaran Gaya dengan JavaScript dengan betul?

Bagaimana untuk Mengalih keluar atau Menggantikan Lembaran Gaya dengan JavaScript dengan betul?

Barbara Streisand
Barbara Streisandasal
2024-12-13 15:02:10950semak imbas

How to Properly Remove or Replace a Stylesheet with JavaScript?

Mengalih keluar atau Menggantikan Lembaran Gaya () dengan JavaScript/jQuery

Dalam percubaan untuk mengalih keluar lembaran gaya daripada halaman web secara dinamik, anda cuba menggunakan kod jQuery berikut:

$('link[title="mystyle"]').remove();

Sementara kod ini mengalih keluar elemen pautan daripada DOM, gaya yang ditakrifkan dalam lembaran gaya kekal digunakan pada halaman. Tingkah laku ini berlaku dalam kedua-dua Opera dan Firefox.

Untuk berjaya mengalih keluar atau menggantikan helaian gaya menggunakan JavaScript, anda perlu memahami mekanisme cache penyemak imbas untuk fail CSS. Penyemak imbas menyimpan gaya CSS dalam ingatan, yang bermaksud walaupun selepas mengalih keluar elemen helaian gaya daripada DOM, gaya itu masih boleh digunakan.

Untuk menangani isu ini:

Untuk silang- keserasian penyemak imbas, lumpuhkan helaian gaya dan bukannya mengalih keluarnya:

document.styleSheets[0].disabled = true;

Menggunakan jQuery:

$('link[title=mystyle]')[0].disabled=true;

Dengan melumpuhkan helaian gaya, ia ditandakan sebagai tidak aktif dan penyemak imbas berhenti menggunakan gaya yang ditakrifkan dalam helaian gaya itu. Pendekatan ini berfungsi secara konsisten merentas pelayar utama, termasuk Internet Explorer.

Atas ialah kandungan terperinci Bagaimana untuk Mengalih keluar atau Menggantikan Lembaran Gaya dengan JavaScript dengan betul?. 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