D3 .append()与变量

时间:2014-04-16 13:05:58

标签: javascript d3.js

假设我有:

var parent = d3.select('g.someElement');

我希望能够按照以下方式做点什么:

function addContent(content) {
    // content is a D3Selection or SVGElement
    parent.append(content);
}

我想知道是否有一种方法可以使用D3附加已定义的SVGElements,而无需根据指定selection.append()的方式解析其标记名称和其他属性。基本上,很像.appendChild()在vanilla JS中的作用。

谢谢!

1 个答案:

答案 0 :(得分:2)

正如您链接到的文档中所述,.append()的参数可以是一个返回要追加的DOM元素的函数。快demo

var element = document.createElement("div");
element.innerHTML = "foo";

d3.select("body").append(function() { return element; });

.append()的参数必须是一个函数,你不能只将element传递给它。