Heim >Web-Frontend >CSS-Tutorial >jQuery-SVG-Klassenmanipulation: Warum schlagen „addClass()' und „removeClass()' fehl?

jQuery-SVG-Klassenmanipulation: Warum schlagen „addClass()' und „removeClass()' fehl?

Linda Hamilton
Linda HamiltonOriginal
2024-12-21 22:27:52752Durchsuche

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

jQuery SVG: Warum kann ich keine Klassen manipulieren?

Bei der Arbeit mit jQuery zum Bearbeiten von SVG-Elementen kann es beim Hinzufügen oder Entfernen von Klassen zu Schwierigkeiten kommen. Dies ist kein Syntaxfehler, sondern rührt von Einschränkungen innerhalb von jQuery her.

jQuery-Einschränkungen

jQuery-Versionen vor 3 weisen bekannte Einschränkungen bei der Interaktion mit SVG-Elementen auf. Insbesondere funktionieren die Methoden .addClass() und .removeClass() möglicherweise nicht wie vorgesehen.

Problemumgehung mit .attr()

Eine Problemumgehung innerhalb von jQuery ist die Verwendung der Methode .attr() :

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

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

Vanilla-JavaScript-Alternative

Für eine Nicht-jQuery-Lösung können Sie die verwenden Methoden element.classList.add() und element.classList.remove():

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

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

Das obige ist der detaillierte Inhalt vonjQuery-SVG-Klassenmanipulation: Warum schlagen „addClass()' und „removeClass()' fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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