Javascript 如何在D3Force布局中为类调用特定节点?

Javascript 如何在D3Force布局中为类调用特定节点?,javascript,d3.js,Javascript,D3.js,这让我快发疯了。下面是我想为每个节点输入特定类的代码。在这里,它为所有节点分配“node”类,但我想强制第一个节点分配“node1”之类的。我一直在玩(d,I),但它不起作用 这是一个我一直与之合作的项目 //add nodes and effects var node = svg.selectAll("g.node") .data(json.nodes) .enter().append("g") .attr("class", "node")

这让我快发疯了。下面是我想为每个节点输入特定类的代码。在这里,它为所有节点分配“node”类,但我想强制第一个节点分配“node1”之类的。我一直在玩(d,I),但它不起作用

这是一个我一直与之合作的项目

   //add nodes and effects
var node = svg.selectAll("g.node")
    .data(json.nodes)
    .enter().append("g")        
    .attr("class", "node")
     .attr("class", "node")

可以根据数据应用节点类或ID:

与此相反:

var node = svg.selectAll("g.node")
    .data(json.nodes)
    .enter().append("g")        
    .attr("class", "node")
它将同一类应用于所有节点,如前所述,您可以使用以下内容:

    var node = svg.selectAll("g.node")
    .data(json.nodes)
    .enter().append("g")        
    .attr("class", function(d,i) {return  "node-" + i; })
这里i等于当前节点在数据数组中的位置。因此,您将拥有如下类:
node-0
node-1
node-2
。。。d表示绑定到节点的数据,您可以使用d.property访问其属性

因此,您可以使用数据的属性来定义类或id:

    var node = svg.selectAll("g.node")
    .data(json.nodes)
    .enter().append("g")        
    .attr("class", function(d) { return  "node-" + d["property"]; })

var node = svg.selectAll("g.node")
    .data(json.nodes)
    .enter().append("g")        
    .attr("class", function(d) { return  "node-" + d.property; })