d3.select没有抓住正确的标签

时间:2016-07-14 00:58:53

标签: d3.js

我正在开发javascript项目。

到目前为止,我用d3.js所做的是绘制世界地图。 我参考了以下页面。(http://www.d3noob.org/2013/03/a-simple-d3js-map-explained.html

所有国家/地区都使用svg标记。

我想要做的是将图像转换为png并下载到本地计算机。

在互联网上进行研究,这是可行的。

我需要将其转换为base64 datarurl,然后将其转换为png。

我要做的第一件事就是选择svg标签。

以下是我的代码

function downloadImg(){     
        var html = d3.select("svg")
                .attr("version", 1.1)
                .attr("xmlns", "http://www.w3.org/2000/svg")
                .node().parentNode.innerHTML;

        window.alert(html);
        ...
        ...
}

出于测试目的,我打印出" html"。 它给我的是整个身体。 我只需要有svg标签元素。

你能告诉我我做错了吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

Element.outerHTML是你的朋友:

var html = d3.select("svg")
                .attr("version", 1.1)
                .attr("xmlns", "http://www.w3.org/2000/svg")
                .node().outerHTML