d3选择抛出无效的查询选择器错误

时间:2016-01-21 03:59:34

标签: javascript d3.js svg

这是我的SVG元素的结构:

<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'。但是我收到以下错误:

  

未捕获的SyntaxError:无法执行&#39; querySelector&#39;在&#39;文件&#39;:   &#39; [object SVGGElement] .pointIndex&#39;不是有效的选择器。

为什么会发生这种情况以及如何解决?

2 个答案:

答案 0 :(得分:1)

这里 Query = "INSERT INTO mcs.custormer (custormer_id,first_name,last_name,nic_no,c_address1,c_address2,c_address3,c_telephoneno,membership_date,business_name,g_name,g_nicno,g_address1,g_address2,g_address3,g_telephoneNO)" & _ "VALUES (@custormer_id,@first_name,@last_name,@nic_no,@c_address1,@c_address2,@c_address3,@c_telephoneNO,@membership_date,@business_name,@g_name,@g_nicno,@g_address1,@g_address2,@g_address3,@g_telephoneNO)" 是一个html元素,不能用任何字符串连接它并用作选择器。

您可以简单地获取如下所示的文字内容,其中deleteCircle.parentNode是圈子元素。

deleteCircle

答案 1 :(得分:0)

您正在尝试将元素和字符串一起添加,但会引发错误。

如果您想访问parent的{​​{1}},然后在其中找到circle元素并抓住text,您就可以这样做。

text

这是一个有效的fiddle