我对SVG很新(使用D3.js来调用所有内容)。最近,我刚刚对我正在进行的项目产生了巨大的限制。我希望能够为我正在使用的每类数据制作“g”类。不幸的是,我从一个只以一种方式连接数据的XML文件中获取数据(例如:person1 ---> person2,但不是person2 ---> person1)。我希望能够做的是将我的数据生成的每个形状放在根类和它所连接的类中。如果我可以将这个形状添加到两个或更多类(例如g class = person1和person2),那么这将是我认为最快的解决方案......但是这样的事情可能吗?我可以将SVG形状设置为两个或更多类吗?或者它会在我定义新的时候覆盖它。
我真的希望有人能理解我的要求。在不泄露我最终项目的每个细节的情况下,很难用语言表达我的问题。
答案 0 :(得分:13)
是的,您可以设置多个班级。例如,
<g class="person1 person2">
或者,在D3中:
g.attr("class", "person1 person2");
答案 1 :(得分:0)
还有一点需要注意:如果你在文件中调用一个函数:
.attr("class",function(d) { return d.person1+" "+ d.person2;} )