1

我的数据如下所示:

[   
{ key="0uFsTNpIPxs", values = [1] },
{ key="0wLp4mXvcgs", values = [1] },
...
]

我将这些数据绑定到一个 d3.js 流图,就像这个例子一样。一切都很好。

在过渡时,我想将一个类附加到取决于数据中的键的每个路径:

.attr('class', function(d) {
  return "ish-" + d.key;
});

这在大多数情况下都适用,适用于所有键。然而,有时,对于以零开头的键,它会吃掉hypen离开例如ish0uFsTNpIPxs而不是ish-0uFsTNpIPxs

知道为什么会这样,我能做些什么吗?

4

1 回答 1

1

您可能正在转换类名以及其他属性。也就是说,像这样的代码

foo.transition().duration(1000)
   .attr("class", "foo");

将从初始类名(可能为空)转换为“foo”——结果不可预测。这几乎肯定不是你想要的,尽管如果你真的想要的话,你可以尝试用它做一些非常聪明的事情。

为避免这种情况,只需在转换之前附加类名,即

foo.attr("class", "foo")
   .transition().duration(1000);
于 2013-08-19T11:26:53.740 回答