检索svg的子元素



我正在尝试检索svg g元素的值。下面是我的代码

<div id="chart">
    <svg width="1386" height="186">
    <g transform="translate(0,0)">    
    <g><circle class="node highlight" r="17.603478526018918" style="fill: #008000;" cx="521.2058097619438" cy="67.43023189750437"></circle>
    </g>
    <g><text class="label highlight" dx="22.603478526018918" dy=".35em" transform="translate(521.2058097619438,67.43023189750437)">CNN</text>
    </g>
    </g>
    </svg>
</div>

我想访问第三个"g"元素值,即上述情况下的"CNN"。我如何使用jQuery来完成它。

s = '<div id="chart"><svg width="1386" height="186"><g transform="translate(0,0)"><g><circle class="node highlight" r="17.603478526018918" style="fill: #008000;" cx="521.2058097619438" cy="67.43023189750437"></circle></g><g><text class="label highlight" dx="22.603478526018918" dy=".35em" transform="translate(521.2058097619438,67.43023189750437)">CNN</text></g></g></svg></div>'
$('g:nth-of-type(2)',$(s))

试试这个:

console.log($('#chart').find('g').eq(2).text());

或者这样:

console.log($('#chart').find('text').eq(0).text());

甚至更好的:

$('#chart g').find('text').text();

最新更新