Rumah > hujung hadapan web > tutorial css > Mengapa Saya Tidak Boleh Menambah Kelas pada Elemen SVG dengan jQuery?

Mengapa Saya Tidak Boleh Menambah Kelas pada Elemen SVG dengan jQuery?

Patricia Arquette
Lepaskan: 2024-12-27 16:06:10
asal
964 orang telah melayarinya

Why Can't I Add Classes to SVG Elements with jQuery?

jQuery SVG: Menyelesaikan Masalah Ketidakupayaan untuk menambahClass

Apabila bekerja dengan jQuery SVG, anda mungkin menghadapi masalah menambah atau mengalih keluar kelas daripada objek SVG. Dalam artikel ini, kami akan menyiasat punca dan menyediakan penyelesaian.

Masalahnya:

Pertimbangkan kod berikut:

<rect>
Salin selepas log masuk

Walaupun sedang dapat mencetuskan amaran apabila mengklik objek, menambah kelas "diklik". gagal.

Penyelesaian:

Sebelum jQuery 3, menambah kelas pada elemen SVG adalah bermasalah. Walau bagaimanapun, isu ini telah diselesaikan dalam jQuery 3. Selain itu, penyemak imbas moden menyokong kaedah JavaScript classList.add('newclass') vanilla untuk elemen SVG.

Pendekatan jQuery Alternatif:

Jika anda lebih suka menggunakan jQuery, anda boleh memanipulasi atribut kelas secara langsung menggunakan attr():

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

// Remove "newclass"
$("#item").attr("class", "oldclass");
Salin selepas log masuk

Pendekatan JavaScript Vanila:

Untuk mengelakkan pergantungan jQuery, gunakan kod JavaScript vanila berikut:

var element = document.getElementById("item");

// Add "newclass"
element.setAttribute("class", "oldclass newclass");

// Remove "newclass"
element.setAttribute("class", "oldclass");
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menambah Kelas pada Elemen SVG dengan jQuery?. 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