如何选择所有未选择的节点? D3 / JS

时间:2014-12-16 14:21:15

标签: javascript d3.js

非常简单的问题但是如何选择所有未选择的节点?我将节点归类为.selectedNode,如何选择逆(其他所有)。

d3.selectAll(".selectedNode")

我想要做的是将一个类应用于所有未选择的节点以隐藏,:visibility:hidden

2 个答案:

答案 0 :(得分:2)

以下是我如何解决它:)

nodes.classed("hidden", function (d)
        {
            return d.selected ? false : true;
        });

基本上说如果它的选择不给它隐藏的类但如果它没有被选中给它隐藏的类:)

答案 1 :(得分:2)

尝试使用选择器“:not”:

3D JS代码:

d3.selectAll("div:not(.selectedNode)").style("display", "none");

HTML

<div class="selectedNode"> <h4>Selected Node 1<h4> </div>
<div class="selectedNode"> <h4>Selected Node 2<h4> </div>
<!-- this div will be hide -->
<div class="unSelectedNode"> <h4> Unelected Node 3<h4> </div>
<div class="selectedNode"> <h4>Selected Node 4<h4> </div>
<div class="selectedNode"> <h4>Selected Node 5<h4> </div>

您现在可以尝试:http://jsfiddle.net/Bentayaa/dcavpdbr/

我希望这会有所帮助。

祝你好运