Impossible d’append une image dans SVG via jQuery: la balise devient

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.