Maison > interface Web > js tutoriel > Pourquoi jQuery n'ajoute ou ne supprime-t-il pas de classes des objets SVG et comment puis-je y remédier ?

Pourquoi jQuery n'ajoute ou ne supprime-t-il pas de classes des objets SVG et comment puis-je y remédier ?

Susan Sarandon
Libérer: 2024-11-28 06:44:13
original
1040 Les gens l'ont consulté

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

jQuery SVG : ajout ou suppression de classes à des objets

En travaillant avec jQuery SVG, vous pouvez rencontrer des difficultés pour ajouter ou supprimer des classes d'objets SVG. Voici une erreur courante et sa solution.

Problème :

Vous essayez d'ajouter une classe à un objet SVG, mais la modification n'apparaît pas. Les fonctionnalités SVG et jQuery fonctionnent comme prévu pour d'autres opérations, telles que le déclenchement d'alertes lors de clics.

Exemple de code :

<rect>
Copier après la connexion

Solution :

Dans les versions de jQuery antérieures à 3, il existe un problème connu où l'ajout ou la suppression de classes aux éléments SVG n'est pas pris en charge. Pour résoudre ce problème, envisagez d'utiliser les approches suivantes :

  • jQuery 3 : Mise à jour vers jQuery version 3 ou supérieure, qui résout ce problème.
  • JavaScript Vanilla : Utilisez plutôt les méthodes classList.add() ou classList.remove(), qui sont prises en charge dans les versions modernes. navigateurs :
document.getElementById("p5").classList.add("clicked");
Copier après la connexion
  • jQuery avec attr() : Si vous préférez rester avec jQuery, une approche alternative consiste à utiliser la méthode .attr() :
$("#p5").attr("class", "jimmy clicked");
Copier après la connexion

N'oubliez pas que ces solutions n'affecteront que spécifiquement les changements de classe. Les autres interactions jQuery avec les éléments SVG, telles que la gestion des événements, devraient fonctionner comme prévu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal