Chciałbym poradzić sobie z nakładającymi się elementami SVG w D3.js za pomocą this method from StackOverflow.Wybory w D3: jak używać parentNode.appendChild?
Jednak ze względu na charakter mojego kodu, chcę użyć selektora D3 zamiast this
, aby ponownie dodać element do DOM. Moje pytanie brzmi: w jaki sposób mogę użyć selektora D3, aby uzyskać odpowiedni węzeł?
ten sposób oryginalny przykład robi:
this.parentNode.appendChild(this);
To moja próba, która nie powiedzie się z "Uncaught TypeError: nie można wywołać metodę 'appendChild' undefined":
var thisNode = d3.select("#" + id);
thisNode.parentNode.appendChild(thisNode);
ten JSFiddle (dostosowany od the original example) pokazuje problem: http://jsfiddle.net/cpcj5/
Czym różni się mój wybór D3 od this
w oryginalnym przykładzie? Próbowałem używać thisNode.node().parentNode.appendChild(thisNode)
, ale to też się nie udało.
Korzystanie 'd3.select ("# someid") [0] [0]' działa doskonale, dziękuję! Jako 'd3.select (" # someid "). Node()' miałoby, gdybym zapamiętał użyć go jako argumentu. Dziękuję za wyjaśnienie. – Richard