所以我的問題是雙重的。讓我說,我對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