D3选择基于文本,但需要兄弟元素

时间:2015-07-11 00:39:42

标签: javascript d3.js tree

我认为,我正在努力解决一个非常具体的需求。我正在使用此节点配置绘制树结构:

<g class="node" transform="translate(160.65,400)">
   <circle r="10" style="fill: rgb(255,255,255);"></circle>
   <text y="18" dy=".35em" text-anchor="middle" style="fill-opacity: 1;">data</text>
</g>

我想要做的是根据文本标签中的数据选择一个圆圈。

我一直在阅读有关D3中的子选择器和过滤器的内容,但我不熟悉它并且不太了解它。任何帮助将不胜感激!

由于

1 个答案:

答案 0 :(得分:0)

您可以选择2文本标签。

  1. 按父节点类选择:

    var textTag = d3.select(".node text").text();
    if (textTag == "data") {
        var circleTag = d3.select(".node circle");
        console.log(circleTag);
    } else {
        console.log("Not find");
    }
    
  2. 按标签选择:

     var textTag = d3.select("text").text();
     if (textTag == "data") {
        var circleTag = d3.select("circle");
        console.log(circleTag);
    } else {
        console.log("Not find");
    }
    

    完成jsfiddle here