d3js使用.append(function(){})添加元素

时间:2015-06-29 00:55:00

标签: d3.js

你知道为什么这样做,d3显示一个圆圈:

node.append("circle")

但不是这样:

node.append(function () {
  return document.createElement("circle");
})

DOM结果完全相同,但在第二种情况下圆圈不可见

1 个答案:

答案 0 :(得分:3)

元素是在错误的命名空间中创建的 - 您需要显式指定SVG命名空间才能生效,因为Javascript不会自动推断它:

return document.createElementNS(d3.ns.prefix.svg, "circle");