Obter largura do elemento de texto SVG do d3.js após a criação

Estou tentando obter as larguras de um monte detext elementos que eu criei com o d3.js

É assim que os estou criando:

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;
          });

Estou então usando a largura para criarrectangles o mesmo tamanho que otextcaixas de

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 textWidth = svg.selectAll("text")
                  .each(function () {
                      return d3.select(this.getComputedTextLength());
                  });
                console.log(textWidth);
                return textWidth;
            })
            .attr("height", function(d) {
                return 30;
            })

Eu tentei usar o método Bbox deaqui mas eu realmente não entendo isso. Eu acho que selecionar o elemento real é onde eu realmente estou errado.

questionAnswers(3)

yourAnswerToTheQuestion