Rumah >hujung hadapan web >tutorial js >Mengapa jQuery Tidak Menambah atau Mengalih Keluar Kelas daripada Objek SVG dan Bagaimana Saya Boleh Membetulkannya?

Mengapa jQuery Tidak Menambah atau Mengalih Keluar Kelas daripada Objek SVG dan Bagaimana Saya Boleh Membetulkannya?

Susan Sarandon
Susan Sarandonasal
2024-11-28 06:44:131037semak imbas

Why Doesn't jQuery Add or Remove Classes from SVG Objects, and How Can I Fix It?

jQuery SVG: Menambah atau Mengalih Keluar Kelas pada Objek

Menggunakan jQuery SVG, anda mungkin menghadapi kesukaran menambah atau mengalih keluar kelas daripada objek SVG. Berikut ialah kesilapan biasa dan penyelesaiannya.

Masalah:

Anda cuba menambah kelas pada objek SVG, tetapi perubahan itu tidak muncul. Fungsi SVG dan jQuery berfungsi seperti yang diharapkan untuk operasi lain, seperti mencetuskan makluman apabila klik.

Contoh Kod:

<rect>

Penyelesaian:

Dalam versi jQuery lebih awal daripada 3, isu yang diketahui wujud apabila menambah atau mengalih keluar kelas kepada elemen SVG tidak disokong. Untuk menyelesaikan masalah ini, pertimbangkan untuk menggunakan pendekatan berikut:

  • jQuery 3: Kemas kini kepada jQuery versi 3 atau lebih tinggi, yang membetulkan isu ini.
  • JavaScript Vanila: Gunakan kaedah classList.add() atau classList.remove() sebaliknya, yang disokong dalam moden pelayar:
document.getElementById("p5").classList.add("clicked");
  • jQuery dengan attr(): Jika anda lebih suka kekal dengan jQuery, pendekatan alternatif ialah menggunakan kaedah .attr():
$("#p5").attr("class", "jimmy clicked");

Ingat bahawa penyelesaian ini hanya akan mempengaruhi perubahan kelas secara khusus. Interaksi jQuery lain dengan elemen SVG, seperti pengendalian acara, harus berfungsi seperti yang dimaksudkan.

Atas ialah kandungan terperinci Mengapa jQuery Tidak Menambah atau Mengalih Keluar Kelas daripada Objek SVG dan Bagaimana Saya Boleh Membetulkannya?. 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