ここでの私の質問は 2 つあります。私はd3とjavascriptに非常に慣れていないので、私の質問が非常に単純に思える場合はご容赦ください。
まず、次のようなデータを含む配列を作成します。
var data=[
{
"atomic_number": "1",
"name": "H",
"en": "2.2",
"type": "non-metal"
},
{
"atomic_number": "3",
"name": "Li",
"en": "1",
"type": "metal"
}
]
SVG キャンバスも作成しました。
< svg id = "canvas" xmlns = "LINK" version= "1.1" >
だから私はd3で次のことを行います:
var selection=canvas.selectAll("circle")
.data(data_var)
selection.enter().append("circle")
selection
.transition().duration(800)
.attr("id", d.name)
私の最初の質問は、データ配列の各要素に attr("id", d.name") を実行してここで行った方法で id を与えることは合法ですか?要素自体のID?
私の 2 番目の質問には 2 つの部分があります。
a- 各要素に id を正しく適用したと仮定すると、後でその要素にアクセスするにはどうすればよいですか? var my_var = d3.select("#id") を実行できますか? 私はそれをやってみましたが、うまくいかないようだったからです。どうにかしてデータ配列から釣り上げる必要がありますか?
b-データ配列のすべての要素が画面上に円として表示されていると仮定します。それらのいずれかをクリックすると、その特定の要素/円で動作する関数が呼び出されるようにするにはどうすればよいですか?