我想通过jQuery在SVG中添加项目.
我可以很好地插入标签,例如< rect />或< text />但是我无法使用标签< image /> ;.插入图像. 此标签变为< img />自动,无法在SVG中显示图像:
http://jsfiddle.net/G4mJf/
我可以很好地插入标签,例如< rect />或< text />但是我无法使用标签< image /> ;.插入图像. 此标签变为< img />自动,无法在SVG中显示图像:
http://jsfiddle.net/G4mJf/
我该如何防止这种情况?
如果不可能,还有另一种方法可以使用JavaScript / jQuery在SVG中插入图像.
解决方法
你应该使用createElementNS():
var img = document.createElementNS('http://www.w3.org/2000/svg','image'); img.setAttributeNS(null,'height','536'); img.setAttributeNS(null,'width','536'); img.setAttributeNS('http://www.w3.org/1999/xlink','href','https://upload.wikimedia.org/wikipedia/commons/2/22/SVG_Simple_logo.svg'); img.setAttributeNS(null,'x','10'); img.setAttributeNS(null,'y','visibility','visible'); $('svg').append(img);