Heim > Web-Frontend > js-Tutorial > Warum fügt jQuery keine Klassen zu SVG-Objekten hinzu oder entfernt sie und wie kann ich das Problem beheben?

Warum fügt jQuery keine Klassen zu SVG-Objekten hinzu oder entfernt sie und wie kann ich das Problem beheben?

Susan Sarandon
Freigeben: 2024-11-28 06:44:13
Original
1000 Leute haben es durchsucht

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

jQuery SVG: Klassen zu Objekten hinzufügen oder entfernen

Bei der Arbeit mit jQuery SVG können beim Hinzufügen oder Entfernen von Klassen zu SVG-Objekten Schwierigkeiten auftreten. Hier ist ein häufiger Fehler und seine Lösung.

Problem:

Sie versuchen, eine Klasse zu einem SVG-Objekt hinzuzufügen, aber die Änderung wird nicht angezeigt. Die SVG- und jQuery-Funktionalität funktioniert wie erwartet für andere Vorgänge, z. B. das Auslösen von Warnungen bei Klicks.

Codebeispiel:

<rect>
Nach dem Login kopieren

Lösung:

In jQuery-Versionen vor 3 besteht ein bekanntes Problem, bei dem das Hinzufügen oder Entfernen von Klassen zu SVG-Elementen nicht unterstützt wird. Um dieses Problem zu beheben, sollten Sie die folgenden Ansätze in Betracht ziehen:

  • jQuery 3: Aktualisieren Sie auf jQuery Version 3 oder höher, wodurch dieses Problem behoben wird.
  • Vanilla JavaScript: Verwenden Sie stattdessen die Methoden classList.add() oder classList.remove(), die in Modern unterstützt werden Browser:
document.getElementById("p5").classList.add("clicked");
Nach dem Login kopieren
  • jQuery mit attr(): Wenn Sie lieber bei jQuery bleiben möchten, ist ein alternativer Ansatz die Verwendung der .attr()-Methode:
$("#p5").attr("class", "jimmy clicked");
Nach dem Login kopieren

Denken Sie daran, dass sich diese Lösungen nur speziell auf Klassenänderungen auswirken. Andere jQuery-Interaktionen mit SVG-Elementen, wie z. B. die Ereignisbehandlung, sollten wie vorgesehen funktionieren.

Das obige ist der detaillierte Inhalt vonWarum fügt jQuery keine Klassen zu SVG-Objekten hinzu oder entfernt sie und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage