所以我的问题是双重的。让我说,我对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 = “画布” 的xmlns = “LINK” 版本= “1.1”>
所以我做的与D3如下:
var selection=canvas.selectAll("circle")
.data(data_var)
selection.enter().append("circle")
selection
.transition().duration(800)
.attr("id", d.name)
我第一个问题是,是否合法/可以给我的数据数组中的每个元素一个id我这样做attr(“id”,d.name“)的方式?如果不是,我会如何去给每个元素分配自己的ID?
我的第二个问题有两个部分:
A-假设我正确应用的ID给每个元素,我该如何去访问后说元素?我可以做var my_var = d3.select(“#id”)吗?因为我试图这样做,它似乎没有工作。我不知何故必须将它从我的数据数组中取出?
b - 假设我的数据数组中的所有元素都显示为屏幕上的圆圈。我如何做到这一点,如果我点击其中的一个,将调用一个将在该特定元素/圆上操作的函数?
感谢这么多的帮助!我现在明白了很多。但是,有一件事是使用.on(“click”,function(){});似乎并没有为我工作。我写的时候,我的圈子都没有画出来。 – user1782677