我在底部有几个像这样的 SVG 文本元素:
<svg width="750" height="3860"><g transform="translate(10,30)">
<rect class="bar negative Tuvalu" x="29.51594399999999" y="0" width="528.934056" country="Tuvalu" height="20" style="stroke: #ffffff;"></rect>
...
<text class="recipient Somalia unselected_text" y="40" x="558.45" style="font-size: 14px;" country="Somalia" dx="3" dy="-0.45em">Somalia -79.7545</text>
<text class="recipient Tuvalu" y="20" x="558.45" style="font-size: 14px;" country="Tuvalu" dx="3" dy="-0.45em">Tuvalu -85.2432</text>
...
我试图通过 bar 仅选择文本元素,其中 countryname 是类名:
var className = "text." + countryname
var textNode = d3.select("#barchart").select(className)
但我在 Chrome 中得到的结果是 1 的数组,其中 0 位置为空。如果我只选择“.{countryname}”,它可以工作,但我只想指定文本节点。第一种方法实际上适用于我的一个图表,但是当我使用不同的数据创建一个新图表时,它不起作用。