问题有人能告诉我如何将我的SVG元素转换为字符串?为什么.html()不支持使用jquery的SVG选择器?
我使用canvg将我的SVG转换为图像。
它具有在画布待渲染第一,canvg()
方法需要另外一种SVG STRING
代码:
function updateChartImage(){
canvg(document.getElementById('canvas'),expecting ` svg string`);
var canvas = document.getElementById("canvas") ;
var img = canvas.toDataURL("image/png");
img = img.replace('data:image/png;base64,', '');
$("#hfChartImg").val(img) ;
$('#img').attr({ src: img });
}
我试图
$('#container svg').html() ; // it gives me an error
//Uncaught TypeError: Cannot call method 'replace' of undefined
通知,
$('#container svg')
$('#container').html() // both works fine and
更新
我使用highcharts的有,我可以传递给canvg(一getSVG()函数),但问题是这么想的获得最新的更新,所以我必须做这种方式,在运行getSVG()
功能时,我得到以下几点:
从他们的文档, “canvg是一个SVG解析器和渲染器。”。如果您已经拥有SVG,无论是作为字符串还是URL参考,都可以将其加载到画布中,然后使用您描述的画布方法来提取图像。但是你需要从SVG开始。这就是图书馆的目的。 – 2012-07-09 13:59:52
我想我应该提到我正在使用highcharts,请参阅我的更新 – 2012-07-09 14:05:30
maby等到dom准备好了吗? 'document.ready()' – 2012-07-09 14:35:19