comment accéder à des données d'un d3 Élément SVG

Donc je suis en train de faire ma propre version de cette superbe visualisation que d3 a fait:

http://mbostock.github.com/d3/talk/20111116/bundle.html

Tout ce que je fais est fondamentalement déplacement de l'ensemble de tableau à gauche, puis tentez d'afficher les différentes relations sur la droite, de sorte que chaque fois que vous passez la souris sur un nom sur la gauche, non seulement vous pouvez voir les différents types de connexions de changer les couleurs sur la carte, vous pouvez également voir les noms de ces connexions sur la droite.

Le problème que j'ai est d'accéder aux noms réels des connexions. Je suis nouveau sur le javascript et même les plus récents de d3, et j'ai du mal à comprendre comment accéder aux noms réels de ces éléments SVG Donc à présent, je suis simplement dans la console.log() à l'aide de deux lignes de code:

var targetTest = d3.selectAll("path.link.target-" + d.key);
console.log(targetTest);

Dans la console, cela va me donner un journal de tous les objets SVG je veux, mais il me donne le plein d'informations pour chacun des éléments. Quelque chose comme ceci:

0: SVGPathElement
__data__: Object
animatedNormalizedPathSegList: null
animatedPathSegList: SVGPathSegList
attributes: NamedNodeMap
baseURI: "http://localhost/mbostock-d3-    544addb/examples/bundle2/bundle.html"
childElementCount: 0
childNodes: NodeList[0]
className: SVGAnimatedString
clientHeight: 0
clientLeft: 0
clientTop: 0
clientWidth: 0
dataset: DOMStringMap
externalResourcesRequired: SVGAnimatedBoolean
farthestViewportElement: SVGSVGElement
firstChild: null
firstElementChild: null
id: ""
lastChild: null
lastElementChild: null
localName: "path"
namespaceURI: "http://www.w3.org/2000/svg"
nearestViewportElement: SVGSVGElement
nextElementSibling: SVGPathElement
nextSibling: SVGPathElement  
nodeName: "path"
nodeType: 1
nodeValue: null
normalizedPathSegList: null
offsetHeight: 0
__proto__: SVGPathElement
length: 1
parentNode: HTMLDocument
__proto__: Array[0]

La partie des données que j'essaye d'entrer dans le données objet, qui contient plus de trois objets.

source: Object
target: Object
__proto__: Object

à l'intérieur de l'objet source (qui est ce que j'essaie d'accès) il y a un champ nommé clé, et c'est le domaine que je veux accéder à

depth: 4
imports: Array[9]
key: "Interpolator"
name: "flare.animate.interpolate.Interpolator"
parent: Object
size: 8746
x: 40.62256809338521
y: 180

Fondamentalement, je veux appeler un document.écrire, ou similaire $(#id).texte() sur cette clé, mais je ne semble pas être en mesure d'accéder à un élément à la fois, en l'occurence, je suis en utilisant

var target = d3.selectAll("path.link.target-" + d.key);
var source = d3.selectAll("path.link.source-" + d.key);
var imports = source.property("__data__").target.key;
var exports = target.property("__data__").source.key;

mais chacune de ces ne me donner un nom, plutôt qu'une liste complète.
AKA quand j'ai passez la souris sur un élément, même si il a plusieurs "importations" ou "exportations" la

console.log(imports)

ne me donner 1 nom à la fois, même si j'ai utilisé selectAll.

Toute aide serait grandement appréciée! Je suis désolé si la question est un peu compliquée, j'ai essayé d'être aussi précis que possible, puisque c'est une question très précise, mais j'ai peut-être disparu dans trop de détails... si c'est possible. Merci quand même avant de main!

Isaac

OriginalL'auteur Cabbibo | 2012-07-19