D3.js 是否使用D3js数据绑定附加嵌套的svg元素?

D3.js 是否使用D3js数据绑定附加嵌套的svg元素?,d3.js,svg,data-binding,append,D3.js,Svg,Data Binding,Append,我正在尝试使用D3js数据绑定,将矩形附加为转换后的svg元素的子元素。 我的矩形实际上会被追加,但它们被追加到html元素(我指的是html文档的根元素)中,而不是作为g元素的子元素,我认为这是它们的父节点。 如何将它们附加为g元素的子节点 //var svgTranslate = (sgv:g with some transform applied) var myclassSelection = svgTranslate.select('rect.myclass'); var myclas

我正在尝试使用D3js数据绑定,将矩形附加为转换后的svg元素的子元素。 我的矩形实际上会被追加,但它们被追加到
html
元素(我指的是html文档的根元素)中,而不是作为
g
元素的子元素,我认为这是它们的父节点。 如何将它们附加为
g
元素的子节点

//var svgTranslate = (sgv:g with some transform applied)

var myclassSelection = svgTranslate.select('rect.myclass');
var myclassBinding = myclassSelection.data(data);
var myclassBindingEnter = myclassBinding.enter();

myclassBindingEnter
.append('rect')
    .attr('class','myclass')
    .attr('x', function(d) { return d[0]; })
    .attr('y', 0)
    .attr('width', function(d) { return d[1]; })
    .attr('height', 25)
;

正如Lars Kotthoff在评论中回答的那样,我必须使用
.selectAll()
而不是
。select()

你能发布你的代码来显示你如何创建svgTranslate对象吗?你需要
.selectAll()
而不是
。select()
。谢谢。selectAll()解决了这个问题。