Dans le domaine de la manipulation SVG avec jQuery, les utilisateurs rencontrent parfois des difficultés pour ajouter ou supprimer des classes d'éléments SVG. Un scénario courant qui déclenche ce problème consiste à cibler des objets SVG avec jQuery et à tenter d'utiliser la méthode .addClass().
L'extrait de code fourni met en évidence le problème :
<rect class="jimmy">
$(".jimmy").click(function() { $(this).addClass("clicked"); });
Bien que l'intégration de jQuery et SVG fonctionne parfaitement pour la gestion des événements, la manipulation des classes reste un échec.
La cause première réside dans la prise en charge limitée de la manipulation des classes SVG dans les versions de jQuery antérieures à la v3. Ce problème vient du fait que jQuery gère les éléments SVG différemment des éléments HTML.
Plusieurs solutions se présentent pour résoudre ce problème :
// Add class using .attr() $("#item").attr("class", "oldclass newclass"); // Remove class using .attr() $("#item").attr("class", "oldclass");
// Add class using .setAttribute() var element = document.getElementById("item"); element.setAttribute("class", "oldclass newclass"); // Remove class using .setAttribute() element.setAttribute("class", "oldclass");
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!