Javascript c3单击并突出显示多个选择

Javascript c3单击并突出显示多个选择,javascript,angularjs,d3.js,c3.js,Javascript,Angularjs,D3.js,C3.js,我正在尝试构建一个原型,当用户单击条形图时,它会突出显示条形图上的多个点。我无法选择多个点 如果我尝试像这样单独更改样式,这将突出显示单击的栏。我想使用css类.solid,因此下次用户单击它时,我可以使用该类查找项目并保留它们。以下操作可以正常工作,但其设置将分别设置不透明度 d3.selectAll(k).style("opacity", 1) 如果我尝试添加一个类,如使用.classed,则该类不起作用 d3.selectAll(k).classed('solid', true);

我正在尝试构建一个原型,当用户单击条形图时,它会突出显示条形图上的多个点。我无法选择多个点

如果我尝试像这样单独更改样式,这将突出显示单击的栏。我想使用css类.solid,因此下次用户单击它时,我可以使用该类查找项目并保留它们。以下操作可以正常工作,但其设置将分别设置不透明度

 d3.selectAll(k).style("opacity", 1)
如果我尝试添加一个类,如使用.classed,则该类不起作用

 d3.selectAll(k).classed('solid', true);
我分享了一个plunker链接来说明这个问题。是否有人可以告诉我如何将css类应用于多个项目,然后在用户每次单击工具栏将新项目添加到突出显示的项目时使用selectAll访问这些项目。谢谢你的帮助


好吧,这就像预期的那样: 将此添加到您的样式中:

.solid{
  opacity:0.3 !important;
}
然后在你的点击中按你的建议去做

      onclick: function(e) {
        //add solid style to all bars.
        d3.selectAll(".c3-shape").classed("solid", true);//add to all bar this class
        var k = ".c3-shape-" + e.index;
        //make the clicked bar opacity 1
        d3.selectAll(k).classed("solid", false);//remove class solid from the clicked bar.
      }
工作代码