JQuery et SVG - comment trouver le 'g' de la balise
Imaginez ceci:
<svg>
<g id="node1" class="node"></g>
<g id="node2" class="node"></g>
</svg>
Comment puis-je trouver le 'g' de la balise, je veux que toutes les balises pourraient être cliqué, et pas juste "node1" ou "node2'. J'ai essayé similaires, mais ne pouvait pas le faire fonctionner.
$('g').click(function(){
alert("Hellooooo");
});
- Incapables de se répliquer.
$('g').click()
fonctionne très bien. jsfiddle.net/ZLnJw - Hum, c'est étrange. J'ai essayé de nouveau et ça fonctionne pour moi.
Vous devez vous connecter pour publier un commentaire.
Utiliser la méthode find() pour plus d'informations, visitez cette
Pour eg
$("body").find("p").css("background-color","#f00");
jeux de tous les corps de<p>
élément d'arrière-plan-couleur rouge.Pour votre question, essayez ceci:
$('svg').find('g')
est exactement le même que$('g')
mais avec un inutile à l'appel de la méthode. Aussi vous pouvez simplement utiliser$('p').css({...});
. Pas besoin defind()
ici à tous.g
sera toujours l'enfant desvg
.$('g')
, mais lorsque l'on traite avec imbriqué <svg> dans un <svg>, je ne l'utiliserais$('svg')[0].find('g')
pour naviguer dans l'arborescence DOM.Merci à C-Link, j'ai réglé ce problème.
Pour être sûr que seuls les nœuds sont cliquables j'ai wroted:
Et il fonctionne très bien.