D3 访问 Json 对象中的数组到属性

D3 Accessing array in Json object to attribute

在我的强制布局数据中,我有

"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 的值作为数组获取。我怎样才能做到这一点?

你到底想达到什么目的?

在您的节点上添加一个属性来存储 isListedIn 列表只是为了稍后检索它并没有什么意义,因为 d3 已经为您做了这件事。如果你想获取 DOM 元素的数据,你可以使用 d3.select('#el').data()[0]['isListedIn']d3.select('#el').each(function(d) { console.log(d.isListedIn); }); 取决于你想用它做什么。