Mi piacerebbe occuparmi di elementi SVG sovrapposti in D3.js utilizzando this method from StackOverflow.Selezioni in D3: come usare parentNode.appendChild?
Tuttavia, a causa della natura del mio codice, voglio utilizzare un selettore D3 anziché this
per aggiungere nuovamente l'elemento al DOM. La mia domanda è: come posso usare un selettore D3 per ottenere il nodo rilevante?
Questo è come l'esempio originale fa:
this.parentNode.appendChild(this);
Questo è il mio tentativo, che non riesce con "TypeError Uncaught: Impossibile chiamare il metodo 'appendChild' di indefinito":
var thisNode = d3.select("#" + id);
thisNode.parentNode.appendChild(thisNode);
Questo JSFiddle (adattato da the original example) illustra il problema: http://jsfiddle.net/cpcj5/
In che modo la mia selezione D3 è diversa da this
nell'esempio originale? Ho provato a utilizzare thisNode.node().parentNode.appendChild(thisNode)
ma anche questo non è riuscito.
Usando 'd3.select ("# QualcheID") [0] [0]' funziona perfettamente, grazie! Come 'd3.select (" # someid "). Node()' avrebbe se mi ricordassi di usarlo come argomento. Grazie per la spiegazione. – Richard