javascript – D3从元素中获取属性

前端之家收集整理的这篇文章主要介绍了javascript – D3从元素中获取属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试一些基本的d3,我一直在尝试使用d3获取每个rect的属性,但我无法得到任何东西.

当我尝试d3.selectAll(“rect”)时,我明白了

如何使用d3.selectAll(“rect”).select(“part1”).attr(…)或类似的东西来访问rect的属性?我想访问所有rect的不同属性.

解决方法

您可以使用getter获取元素的任何属性
d3.select(foo).attr("bar")

这基本上只是一个参数的attr()函数.

这是一个演示.有两类矩形,第1部分和第2部分.我正在选择所有part1矩形并得到它们的x位置:

var svg = d3.select("svg");
var rects = svg.selectAll("foo")
  .data(d3.range(14))
  .enter()
  .append("rect")
  .attr("fill","teal")
  .attr("y",20)
  .attr("x",d => 10 + 12 * d)
  .attr("height",40)
  .attr("width",10)
  .attr("class",d => d % 2 === 0 ? "part1" : "part2");

d3.selectAll(".part1").each(function(d,i) {
  console.log("The x position of the rect #" + i + " is " + d3.select(this).attr("x"))
})
<script src="https://d3js.org/d3.v4.min.js"></script>
<svg></svg>

猜你在找的JavaScript相关文章