D3过渡不起作用

PLu*_*Lui 4 javascript svg d3.js

我有以下SVG元素:

<svg id='svgTest' xmlns="http://www.w3.org/2000/svg" version="1.1">
  <g id="test">
    <rect height="20" width="50" fill="blue"/>
  </g>
</svg>
Run Code Online (Sandbox Code Playgroud)

我想为蓝色矩形添加一个过渡.我尝试使用D3的以下代码:

var rect = d3.select("#test");
rect.transition().duration(5000).attr('height',200);
Run Code Online (Sandbox Code Playgroud)

但它似乎没有做任何事情.怎么了?

Gab*_*rit 6

您需要选择'rect'元素.试试这个:

var rect = d3.select("#test rect");

rect.transition().duration(5000).attr('height',200);
Run Code Online (Sandbox Code Playgroud)

如果要更新多个元素,请使用d3.selectAll().