在d3.js中访问parent属性以设置child的属性

时间:2016-07-26 22:46:29

标签: 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>

我正在尝试设置圈子的cx属性,我需要访问该圈子的x属性。我的代码如下:

ch.selectAll('circle')
    .data((d) => {
      return d.values;
    })
    .enter().append('circle')
    .attr('r', 3)
    .attr('cx', (d) => {
      ...
    })
    .attr('cy', (d) => {
      return y(d.num);
    });

有人知道在设置x值时如何获取cx属性的值?在此先感谢!!

1 个答案:

答案 0 :(得分:2)

考虑到@ GerardoFurtado的评论,我会假设你因为其他原因而存放那个x值然后定位......

您可以访问父级(和x属性):

.attr('cx', function(d) {
  var parentXValue = d3.select(this.parentNode).attr("x");
})