我试图将一堆0/1 svg文本元素连续点击,翻转。
我按照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(" fill"," red");
到那个
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)。
换句话说,我打破了#34;链接"致电.text(function ...)
但为什么,他们不应该在链中返回相同的对象吗?
答案 0 :(得分:1)
在第一个代码段中,您要在enter
选项上设置文字。在每次额外的update()
调用中,没有任何内容进入选择,因此文本不会更新。
在第二个代码段中,您正在较大的update
选项上正确设置文字。
注意,t1
是更新选择。 t1.enter()
是输入选择。