使用d3.js,我如何选择一个特定的<g>,其中<text>中的特定文本作为其子项?</text> </g>

时间:2014-10-16 09:20:56

标签: d3.js

intial html如下。

<svg>
<g>
    <rect></rect>
    <text>selectThis</text>
</g>

<g>
    <rect></rect>
    <text>dont_selectThis</text>
</g>

我必须选择具有子文本标签的g标签及其值&#34; selectThis&#34;并且应该向其附加一些其他文本标签,以便最终输出为

<svg>
<g>
    <rect></rect>
    <text>selectThis</text>
    <text> extra added </text>
</g>

<g>
    <rect></rect>
    <text>dont_selectThis</text>
</g>

1 个答案:

答案 0 :(得分:2)

您可以通过过滤初始选择来完成此操作:

d3.selectAll("g")
  .filter(function() {
    return d3.select(this).select("text").text() == "selectThis";
  });