Je souhaite append des éléments dans un fichier SVG via jQuery. Je peux bien insérer des balises telles que ou
mais je ne peux pas insérer d’images avec la balise
.
Cette balise devient automatiquement, ce qui ne permet pas d’afficher une image au format SVG: http://jsfiddle.net/G4mJf/
Comment puis-je empêcher cela? Si c’est impossible, existe-t-il un autre moyen d’insérer des images dans SVG à l’aide de JavaScript / jQuery.
vous devriez utiliser createElementNS()
:
var img = document.createElementNS('http://www.w3.org/2000/svg','image'); img.setAtsortingbuteNS(null,'height','536'); img.setAtsortingbuteNS(null,'width','536'); img.setAtsortingbuteNS('http://www.w3.org/1999/xlink','href','https://upload.wikimedia.org/wikipedia/commons/2/22/SVG_Simple_Logo.svg'); img.setAtsortingbuteNS(null,'x','10'); img.setAtsortingbuteNS(null,'y','10'); img.setAtsortingbuteNS(null, 'visibility', 'visible'); $('svg').append(img);
jQuery seul ne peut pas gérer correctement la manipulation SVG, comme l’explique cette réponse . Vous devriez probablement utiliser Raphael , ou l’une des méthodes de hacky décrites dans le lien ci-dessus.