D3 v4获取元素的翻译值

Joe*_*oel 6 javascript d3.js d3v4

当我运行d3.select(this).attr("transform")一个元素时,我得到一个响应translate(20.00,778).但是我需要获得单独的翻译价值.

在第3版中,可以使用

var t = d3.transform(element.attr("transform"));
t.translate;
Run Code Online (Sandbox Code Playgroud)

但是v3中没有d3.transform.如何获得相同的结果?

pat*_*pot 6

试试这个.

string = element.attr("transform");

translate = string.substring(string.indexOf("(")+1, string.indexOf(")")).split(",");
Run Code Online (Sandbox Code Playgroud)

然后你可以通过translate [0]访问dx,通过translate [1]访问dy.

  • 这在 Edge 中不起作用,因为 Edge 确实用空格分隔参数,例如 translate(10 20),而不是像 chrome 和 firefox 那样的 translate(10,20)。 (2认同)