在用JS动态创建SVG标签的时候,像g标签,circle标签,rect标签等都可以正确创建并显示,但是image标签却总是不能显示。我的初始代码如下:
var svgNS = 'http://www.w3.org/2000/svg';
var oImg = document.createElementNS(svgNS, 'image');
oImg.setAttribute('xlink:href', '../img/main.png');
oImg.setAttribute('x', '350');
oImg.setAttribute('y', '150');
oImg.setAttribute('width', '100');
oImg.setAttribute('height', '103');
通过开发者工具可以看到,image标签已经被正确创建,但是图片却不能正常显示。几经折腾,才发现问题在这:
图片的路径不能用setAttribute方法来创建,应该写成这样:
oImg.href.baseVal = "../img/main.png";