sampleSVG.append("svg:circle") .style("stroke", "gray") .style("fill", "white") .attr("r", 40) .attr("cx", 50) .attr("cy", 50) .attr("width", 100) .attr("height", 100);
sampleSVG.append("svg:circle") .style({ "stroke": "gray", "fill": "white"}) .attr({ "r": 40, "cx": 50, "cy": 50, "width": 100, "height": 100});
https://github.com/mbostock/d3/commits/map https://github.com/mbostock/d3/pull/179
We're working on this syntax for: style, classed, property, on, attr, attrTween, style, styleTween. It's a more concise syntax, especially when the attrs are functions. An example from the tutorial:
d3.select(this).selectAll("rect") .data(function(d){return d;}) .enter().append("svg:rect") .attr("fill", "aliceblue") .attr("stroke", "steelblue") .attr("stroke-width", "1px") .attr("width", function(d, i){return (histoW/dataset[0].length)+"px"}) .attr("height", function(d, i){return (d/dataMax[rectIdx]*histoH)+"px"}) .attr("x", function(d, i){return i*(histoW/dataset[0].length)+"px"})
d3.select(this).selectAll("rect") .data(function(d){return d;}) .enter().append("svg:rect") .attr(function(d,i ) { return { "fill": "aliceblue", "stroke": "steelblue", "stroke-width": "1px", "width": (histoW/dataset[0].length)+"px", "height": (d/dataMax[rectIdx]*histoH)+"px", "x": i*(histoW/dataset[0].length)+"px" }; });