I have svg element of <circle>
inside <g>
, and I want to give each circle tag a class like this:
<g class="parent">
<circle class="circle_0"></circle>
<circle class="circle_0"></circle>
<circle class="circle_0"></circle>
<circle class="circle_0"></circle>
</g>
<g class="parent">
<circle class="circle_1"></circle>
<circle class="circle_1"></circle>
<circle class="circle_1"></circle>
<circle class="circle_1"></circle>
</g>
<g class="parent">
<circle class="circle_2"></circle>
<circle class="circle_2"></circle>
<circle class="circle_2"></circle>
<circle class="circle_2"></circle>
</g>
the number after circle_
comes from the order of its parent <g>
, but each parent has the same class name.
I am creating them like this and right now, every <circle>
has the same class:
var g = svg.append("g")
var parentElement = g.selectAll(".parent")
.data(data)
.enter().append("g")
.attr("class", "parent");
parentElement.selectAll(".circle")
.data(function(d,i) { return d; })
.enter().append("circle")
.attr("class", "circle")
How can I achieve this?