JQuery und SVG - how zu finden, die 'g' - tag
: Stell dir vor,
<svg>
<g id="node1" class="node"></g>
<g id="node2" class="node"></g>
</svg>
Wie finde ich das 'g' tag, ich möchte, dass alle tags konnte angeklickt werden, und nicht nur '1' oder 'node2'. Ich habe versucht, ähnlich zu diesem, aber so konnte es nicht funktionieren.
$('g').click(function(){
alert("Hellooooo");
});
Nicht in der Lage zu replizieren.
Hmm, das ist merkwürdig. Ich habe es nochmal versucht und es funktioniert für mich.
$('g').click()
funktioniert einwandfrei. jsfiddle.net/ZLnJwHmm, das ist merkwürdig. Ich habe es nochmal versucht und es funktioniert für mich.
InformationsquelleAutor Kungen | 2013-06-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwendung der find () - Methode für weitere Informationen besuchen Sie diese
ZB
$("body").find("p").css("background-color","#f00");
setzt alle Körper<p>
element hintergrund-Farbe auf rot.Für Ihre Frage versuchen Sie dies:
Dies... ist eine dumme Antwort.
$('svg').find('g')
ist genau das gleiche wie$('g')
aber mit einer zusätzlichen, unnötigen Aufruf der Methode. Ebenso können Sie nur verwenden$('p').css({...});
. Keine Notwendigkeit fürfind()
hier überhaupt.was passiert, wenn innerhalb von anderen tags ist auch "g" dann wird er benötigen, zu finden in "svg".
ist nur eine gültige SVG-tag. Es sei denn, die Entwicklung eines shadow DOM-Seite (was unwahrscheinlich ist in seinem aktuellen Zustand),
g
wird immer das Kind vonsvg
.Für flache <svg> docs, verwenden Sie
$('g')
, aber beim Umgang mit verschachtelten <svg> in <svg> verwende ich$('svg')[0].find('g')
zum navigieren im DOM-Baum.InformationsquelleAutor Bhojendra Rauniyar
Dank C-Link habe ich gelöst.
Werden Sie sicher, dass nur die Knoten sind anklickbar, ich habe wroted:
Und es funktioniert gut.
+1. Verdienen es nicht, ein downvote, da ist es gut zu wissen, dass der lange Weg und der kurze Weg. Wie oben erklärt, in einigen Fällen, müssten Sie die lange Methode.
InformationsquelleAutor Kungen