我正在使用带有SVG的D3并且有一个关于选择的问题。
我在DOM中有一个元素,如下所示:
<g class="tooltip">
// some other code
<text class="name">Testing D3</text>
</g>
现在我想使用选择来获取文本“测试D3”。我该怎么办?
我尝试了以下内容:
d3.select(".tooltip .name").text
d3.select(".tooltip .name").value
d3.select(".tooltip .name").textContent
d3.select(".tooltip .name").html
但他们都没有工作。
我也尝试过使用
d3.select(".tooltip .name").html(this.value);
建议here和here,但这给了我一个SVGTextElement
&amp;不是实际值。
另外,我不能像here那样使用document.getElementById("name");
,因为我必须通过d3实现此功能。
请注意名称是单个元素。
答案 0 :(得分:7)
您需要一个子选择器(并调用.text()
函数):
d3.select("g.tooltip > text.name").text();