6

私はSVGに非常に慣れていません(D3.jsを使用してすべてを呼び出します)。最近、私が取り組んでいるプロジェクトで大きな制限に直面しました。使用しているデータのカテゴリごとに「g」クラスを作成できるようにしたいと考えています。残念ながら、データを一方向にのみ接続するXMLファイルからデータを取得しています(例:person1 ---> person2、person2 ---> person1ではありません)。私ができるようにしたいのは、データから生成された各形状をルートクラスとそれが接続しているクラスに配置することです。この形状を2つ以上のクラス(g class = person1とperson2など)に追加できれば、それが私が信じる最速のソリューションになるでしょう...しかし、このようなことは可能ですか?SVGシェイプを2つ以上のクラスに設定できますか?または、新しいものを定義するときに上書きしますか?

誰かが私が求めていることを理解してくれることを本当に望んでいます。私の最終的なプロジェクトのすべての詳細を明かさずに私の問題を言葉で表現するのはちょっと難しいです。

4

2 に答える 2

13

はい、複数のクラスを設定できます。例えば、

<g class="person1 person2">

または、D3の場合:

g.attr("class", "person1 person2");
于 2012-06-21T20:00:26.227 に答える
0

もう1つの注意:ファイル内から関数を呼び出す場合:

.attr("class",function(d) { return d.person1+" "+ d.person2;}  ) 
于 2014-02-12T00:28:21.830 に答える