【发布时间】:2012-11-19 19:53:36
【问题描述】:
我正在使用 D3 javascript 库来呈现一些基本的网络图表。我想将三个 <path> 元素添加到 <svg> 块,但 D3 将元素添加到 <html> 块的末尾。这是完整的 html 源代码:
<!DOCTYPE html>
<meta charset="utf-8">
<body>
<script src="d3.v2.js"></script>
<script>
var chartData = [ 1, 2, 3 ];
d3.select("html").select("body").append("svg")
.data(chartData, function(d) { console.log("data d:", d); return d; })
.enter()
.append("path")
.attr("d", function(d) { return d; });
</script>
</body>
Chrome 的开发者控制台显示生成的 html 为:
<html><head><meta charset="utf-8">
<style type="text/css"></style></head><body>
<script src="d3.v2.js"></script>
<script>
var chartData = [ 1, 2, 3 ];
d3.select("html").select("body").append("svg")
.data(chartData, function(d) { console.log("data d:", d); return d; })
.enter()
.append("path")
.attr("d", function(d) { return d; });
</script><svg></svg>
</body><path d="1"></path><path d="2"></path><path d="3"></path></html>
<svg> 块已创建,但由于某种原因,<path> 块位于其外部。如何更正此错误,并将它们放在它们所属的 <svg> 中?
【问题讨论】:
标签: javascript d3.js append enter