我试图获得text我用d3.js创建的一堆元素的宽度
这就是我创建它们的方式:
var nodesText = svg.selectAll("text")
.data(dataset)
.enter()
.append("text")
.text(function(d) {
return d.name;
})
.attr("x", function(d, i) {
return i * (w / dataset.length);
})
.attr("y", function(d) {
return 45;
});
Run Code Online (Sandbox Code Playgroud)
然后我使用宽度创建rectangles与text盒子相同的大小
var nodes = svg.selectAll("rect")
.data(dataset)
.enter()
.append("rect")
.attr("x", function(d, i) {
return i * (w / dataset.length);
})
.attr("y", function(d) {
return 25;
})
.attr("width", function(d, i) {
//To Do: find width of each text element, after it has been generated
var …Run Code Online (Sandbox Code Playgroud)