Svg D3,检索a的x位置<;g>;元素并应用多重变换

Svg D3,检索a的x位置<;g>;元素并应用多重变换,svg,d3.js,transform,Svg,D3.js,Transform,使用D3.js,我想从组的当前位置开始多次变换组的x(例如,通过单击按钮a,每次点击都会导致变换)。问题是我无法检索组的x,即使我找到了它,我也找不到任何内置函数,可以让我从组当前的x开始更改组的x。我错过了什么重要的事情吗?很奇怪,我无法将元素的x添加到SVG“stage”中 我的代码如下(为Lars编辑):我按照您昨天建议的方式创建了节点(克隆它们) 获取和更改g元素的位置相对简单。例如: var g = d3.select("#myG"); // get x position var c

使用D3.js,我想从组的当前位置开始多次变换组的
x
(例如,通过单击按钮a,每次点击都会导致变换)。问题是我无法检索组的x,即使我找到了它,我也找不到任何内置函数,可以让我从组当前的
x
开始更改组的
x
。我错过了什么重要的事情吗?很奇怪,我无法将元素的
x
添加到SVG“stage”中

我的代码如下(为Lars编辑):我按照您昨天建议的方式创建了节点(克隆它们)


获取和更改
g
元素的位置相对简单。例如:

var g = d3.select("#myG");

// get x position
var currentx = d3.transform(g.attr("transform")).translate[0];

// set x position
g.attr("transform", "translate(" + (currentx + 100) + ",0)");
编辑:

如果您有一个原始DOM元素,请先用D3选择它:

var currentx = d3.transform(d3.select(this).attr("transform")).translate[0];

嗨,Lars,我更新了问题,试图更好地解释问题。Lars,非常感谢:我认为
d3.selectAll(.myGroup”)
导致循环体内部
这个
与你的
d3的结果相同。选择(这个)
是否可以用
.style()
获得转换转换集?我需要匹配传单CSS中的动画集,并使用
.translate()
动画不同步。是。使用
.style(“transform”)
.D3v4“已删除d3.transform方法。”
var currentx = d3.transform(d3.select(this).attr("transform")).translate[0];