2013-08-22 12 views

Antwort

0

Sie können die Auswahl mit jquery machen und diese an d3 übergeben.

Dies kann oder kann nicht funktionieren je nachdem, wofür Sie es benötigen, aber möglicherweise eine einfache Problemumgehung sein.

0

Wenn Ihr DOM ist wirklich, dass spezifisches Beispiel können Sie übergeordneten Knoten mit D3 wählen als in ihrer docs bemerkt here:

Sie den übergeordneten Knoten jeder Gruppe durch Überprüfen der parentNode Eigenschaft jeder Gruppe sehen Array, z. B. Auswahl [0] .parentNode.

Also in Ihrem Fall sollte var module = d3.select(".control").parentNode; funktionieren.

1

Sie könnten „am nächsten“ d3 Auswahl Prototyp wie folgt hinzufügen:

d3.selection.prototype.closest = function(selector){ 
      var closestMatch = undefined; 
      var matchArr = []; 
      this.each(function(){ 
       var elm = this; 
       while(typeof elm.parentNode.matches === "function" && !closestMatch){ 
        elm = elm.parentNode; 
        if(elm.matches(selector)){ 
         closestMatch = elm; 
         matchArr.push(closestMatch); 
        } 
       } 
       closestMatch = undefined; 
      }); 
      return d3.selectAll(matchArr); 
     }