Javascript 访问d3.js中的父属性,设置子属性

Javascript 访问d3.js中的父属性,设置子属性,javascript,html,d3.js,svg,Javascript,Html,D3.js,Svg,我这里有(部分)HTML: <g style="fill: rgb(49, 130, 189);" transform="translate(0,0)" x="200" class="chr"> <circle cy="175.92776604033872" r="3"></circle> <circle cy="292.4129588695106" r="3"></circle> </g> 有人知道在设置

我这里有(部分)HTML:

<g style="fill: rgb(49, 130, 189);" transform="translate(0,0)" x="200" class="chr">
    <circle cy="175.92776604033872" r="3"></circle>
    <circle cy="292.4129588695106" r="3"></circle>
</g>
有人知道在设置
cx
值时如何获取
x
属性的值吗?提前谢谢

考虑到@GerardoFurtado的评论,我假设您出于其他原因将x值隐藏在那里,然后定位

您可以通过以下方式访问父级(和x属性):

考虑到@GerardoFurtado的评论,我假设您出于其他原因将x值隐藏在那里,然后定位

您可以通过以下方式访问父级(和x属性):


只是一个提示,与您的问题无关:g元素没有x或y位置。@GerardoFurtado有趣的是,我几天前在一篇文章中也提到了这一点,在他们的另一个问题中提到了相同的代码。另一方面,这些属性是没有意义的,不会对SVG造成任何伤害,但它可能是传递信息的某种手段,就像Mark在回答中提到的那样。是的,你完全正确,你可以使用它来存储信息。但我认为编码人员和程序员应该使用相同的语言:当人们在SVG中看到“x”时,就会想到x位置……只是一个提示,与您的问题无关:g元素没有x或y位置。@GerardoFurtado很有趣,几天前,我在一篇文章中也提到了这一点,在另一个问题中提到了同样的代码。另一方面,这些属性是没有意义的,不会对SVG造成任何伤害,但它可能是传递信息的某种手段,就像Mark在回答中提到的那样。是的,你完全正确,你可以使用它来存储信息。但我认为编码人员和程序员应该使用相同的语言:当人们在SVG中看到“x”时,就会想到x的位置……向上投票。我没有测试过,但是胖箭头在那种情况下能正常工作吗<代码>此在使用fat arrow功能时不会引用元素。您将需要一个普通的函数表达式来代替它。@GerardoFurtado和altocumulus,谢谢您的关注!修正了我的答案。我没有测试过,但是胖箭头在那种情况下能正常工作吗<代码>此在使用fat arrow功能时不会引用元素。您将需要一个普通的函数表达式来代替它。@GerardoFurtado和altocumulus,谢谢您的关注!修正了我的答案。
ch.selectAll('circle')
    .data((d) => {
      return d.values;
    })
    .enter().append('circle')
    .attr('r', 3)
    .attr('cx', (d) => {
      ...
    })
    .attr('cy', (d) => {
      return y(d.num);
    });
.attr('cx', function(d) {
  var parentXValue = d3.select(this.parentNode).attr("x");
})