2016-02-04 64 views
0

我想在一行中点击一组0/1 svg文本元素,翻转。d3js更新模式;链式不同?

我跟着d3js更新模式,用update()点击。它没有工作 shown here (live code on tributary)

然后我从这个线改变

 t1.enter().append("text").attr("y",205).attr("x",function(d,i) {return(40+i*80-4)}).text(function(d){return d}) 

.attr( “填充”, “红色”);

t1.enter().append("text").attr("y",205).attr("x",function(d,i){return(40+i*80-4)}); 
t1.text(function(d){return d}).attr("fill", "red"); 

现在,它的工作shown here (live code on tributary)

换句话说,我打破了“链式”在.text(function ...)

电话,但链中的原因,不应该都返回相同的对象?

回答

1

在第一个代码片段中,您将设置enter选择的文本。在每个额外的update()调用中,没有任何内容会输入选择内容,因此文本不会更新。

在第二个代码片段中,您正确设置了较大的update选择中的文本。

注意,t1是更新选择。 t1.enter()是输入选择。