如何选择(和更改)已附加到dom的svg

时间:2015-01-12 00:26:10

标签: javascript d3.js

我有一张D3图表,我附加到dom。如果我包含下面的代码,图表会立即生成动画。但是,我不希望这种情况发生。因此,我想稍后添加转换 - 我再次运行相同的函数添加图表但使用if / else语句,我避免第二次附加图表而是运行下面的代码 - 问题是图表现在没有动画。我想知道是不是因为我没有提供足够的信息来选择什么 - ({})不够具体? - 或者它是否可能是另一个问题?

                 var transition = d3.select({}).transition()
                    .duration(250)
                    .ease("linear");
                    var that = this;

1 个答案:

答案 0 :(得分:0)

如果您之前添加了d3图表,则可能存储了对svg的引用?

var svg = d3.select('body').append('svg').attr({/*...*/}); // etc.

假设上述做法可以重复使用变量:

svg.transition().duration(250).ease("linear");

如果以后必须进行选择,则必须使用select语句的字符串:

d3.select('svg').duration(250).ease("linear");
// selects the first <SVG> tag found in the DOM