Salut je suis assez nouveau à js et je ne comprends pas très bien comment svg est censé fonctionner.svg chargé comme objet
J'ai généré un fichier svg que je veux utiliser dans la page Web. Le fichier est assez gros et je ne veux pas le coller en ligne, car je veux pouvoir le remplacer par un autre. Je dois également avoir accès à ses éléments, AFAIK, la seule option est de le charger comme <object>
au lieu de <img>
Cependant, je trouve beaucoup de mises en garde quand je le charge de cette façon.
L'un d'entre eux est l'ordre de dessin lorsque je veux ajouter plus de couches svg sur l'objet.
Si j'écris les éléments dans cet ordre
blue circle svg
object
green circle svg
Je vois le cercle bleu sur l'objet et le cercle vert à côté de l'objet (comme si elle était poussée par l'objet). Je m'attendrais à voir le premier élément que j'ai dessiné en arrière-plan et le dernier sur le devant.
<svg width="500" height="500" xmlns="http://www.w3.org/2000/svg">
<circle id = "AGV01R" cx = "140" cy="100" r = "20" fill = "blue"></circle>
</svg>
<object type = "image/svg+xml" data="http://upload.wikimedia.org/wikipedia/commons/5/57/Weakness_of_Turing_test_1.svg" class="plano" id="plano"></object>
<svg width="500" height="500" xmlns="http://www.w3.org/2000/svg">
<circle id = "AGV02R" cx = "140" cy="100" r = "15" fill = "green"></circle>
</svg>
http://codepen.io/mrcasty/pen/egXaBj
Je vous serais reconnaissant toute alternative d'utiliser des objets quand je veux avoir accès aux éléments internes d'un svg embeded – javanoob
J'ai fourni [cette réponse] (http: // stackoverflow .com/a/35788464/5218951) à une question différente sur la façon d'appliquer des styles aux éléments svg externes, mais le principe s'applique ici, je crois. Vous pouvez intégrer un élément svg externe tel que décrit dans cette réponse, puis le manipuler comme vous le souhaitez (par exemple, en utilisant JavaScript pour ajouter des cercles bleus et verts au-dessus et en dessous, etc.) après l'avoir inséré. –