这是我的SVG元素的结构:D3选择抛出无效查询选择错误
<g class="point" transform="translate(241,197)">
<circle></circle>
<text class="pointIndex" x="-4px" y="-10px">1</text>
<g class="deletePoint" transform="translate(0,16)">
<circle></circle>
<text x="-3px" y="3px">x</text>
</g>
</g>
我创建了以下功能:
function deletePoint(deleteCircle) {
var circleText = d3.select(deleteCircle.parentNode + '> text')
}
console.log(deleteCircle)
回报:
<g class="deletePoint" transform="translate(0,16)">
<circle></circle>
<text x="-3px" y="3px">x</text>
</g>
什么我想要的是在这里找到文本:<text class="pointIndex" x="-4px" y="-10px">1</text>
(在这种情况下为1
)所以我做了deleteCircle.parentNode + ' .pointIndex'
。但我得到以下错误:
Uncaught SyntaxError: Failed to execute 'querySelector' on 'Document': '[object SVGGElement] .pointIndex' is not a valid selector.
为什么会发生这种情况,以及如何解决它?
,因为你不能添加的元素与串起来。 – epascarello