在我的力布局数据中我有
"nodes":[
{"id":"0", "name":"A",
"isListedIn":["USSDN","Canadian list"]
},
通常,我会将其绑定到D3选择,例如
d3.select(body).selectAll(".node").data(graph.nodes).enter()
.append("image")
.attr("name") function(d) return d.name)
.attr("isListedIn",function(d) return d.isListedIn)
我试图把它拿出去
var listList=d3.select("#listList").append("ul")
.data(listList)
.enter()
.append("li")
.text(function(d){return d})
但d.isListedIn无效。我试图做的是用户点击1节点 - >我可以将isListedIn的值作为数组获取。我怎样才能做到这一点?
答案 0 :(得分:1)
你到底想要达到什么目的?
添加一个属性来存储节点上的isListedIn列表只是为了稍后检索它是没有意义的,因为d3已经为你做了。如果您想获取DOM元素的数据,可以使用d3.select('#el').data()[0]['isListedIn']
或d3.select('#el').each(function(d) { console.log(d.isListedIn); });
,具体取决于您要对其执行的操作。