Rumah >hujung hadapan web >tutorial css >Manipulasi Kelas SVG jQuery: Mengapa `addClass()` dan `removeClass()` Gagal?

Manipulasi Kelas SVG jQuery: Mengapa `addClass()` dan `removeClass()` Gagal?

Linda Hamilton
Linda Hamiltonasal
2024-12-21 22:27:52752semak imbas

jQuery SVG Class Manipulation: Why Do `addClass()` and `removeClass()` Fail?

jQuery SVG: Mengapa Saya Tidak Boleh Memanipulasi Kelas?

Apabila bekerja dengan jQuery untuk memanipulasi elemen SVG, anda mungkin menghadapi kesukaran menambah atau mengalih keluar kelas. Ini bukan ralat sintaks tetapi berpunca daripada pengehadan dalam jQuery.

Penghadan jQuery

Versi jQuery sebelum 3 mempunyai batasan yang diketahui dalam berinteraksi dengan elemen SVG. Khususnya, kaedah .addClass() dan .removeClass() mungkin tidak berfungsi seperti yang dimaksudkan.

Penyelesaian Menggunakan .attr()

Satu penyelesaian dalam jQuery ialah menggunakan kaedah .attr() :

// Adding a class
$("#item").attr("class", "oldclass newclass");

// Removing a class
$("#item").attr("class", "oldclass");

JavaScript Vanila Alternatif

Untuk penyelesaian bukan jQuery, anda boleh menggunakan kaedah element.classList.add() dan element.classList.remove():

// Adding a class
var element = document.getElementById("item");
element.setAttribute("class", "oldclass newclass");

// Removing a class
element.setAttribute("class", "oldclass");

Atas ialah kandungan terperinci Manipulasi Kelas SVG jQuery: Mengapa `addClass()` dan `removeClass()` Gagal?. 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