Obtenir la largeur de l'élément de texte SVG d3.js après sa création

Je vais essayer d'obtenir les largeurs de bande de text éléments que j'ai créé avec d3.js

C'est ainsi que je suis leur création:

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

Je suis alors à l'aide de la largeur de créer rectangles de la même taille que le text's boîtes

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

J'ai essayé d'utiliser la Bbox méthode de ici mais je ne comprends pas vraiment. Je pense que la sélection de l'élément actuel est là que je vais vraiment mal.

source d'informationauteur sanjaypoyzer | 2014-01-31