Javascript d3 force布局中的多个节点选择

Javascript d3 force布局中的多个节点选择,javascript,d3.js,Javascript,D3.js,我得到了以下代码片段,它可以很好地用于单个选择(和取消选择)。有谁能帮我扩展这段代码,这样就可以进行多个选择(并在再次单击同一个节点时取消选择该节点) 你需要像这样的东西 function click(d){ d3.select(this).classed("selected", !d3.select(this).classed("selected")); d3.selectAll("foo").style("stroke", "white"); d3.selectAll

我得到了以下代码片段,它可以很好地用于单个选择(和取消选择)。有谁能帮我扩展这段代码,这样就可以进行多个选择(并在再次单击同一个节点时取消选择该节点)


你需要像这样的东西

function click(d){
    d3.select(this).classed("selected", !d3.select(this).classed("selected"));
    d3.selectAll("foo").style("stroke", "white");
    d3.selectAll(".selected").style('stroke', 'red');
}

这将向所有选定的对象添加一个类
selected
,您可以使用该类通过D3选择和修改这些对象。

如何将绑定到选定节点的数据存储到数组中?
D3.selectAll(.selected”).data()
Hi再次说明,您对多个选择的回答有效,但取消选择似乎存在一些问题。这部分似乎不起作用,即笔划颜色没有从红色变为白色。你必须将我的代码中的
foo
更改为任何元素。现在我意识到,foo前面的点缺失了。
function click(d){
    d3.select(this).classed("selected", !d3.select(this).classed("selected"));
    d3.selectAll("foo").style("stroke", "white");
    d3.selectAll(".selected").style('stroke', 'red');
}