Mam problem z wstawieniem nowych rodzeństwa do istniejących elementów.d3.js - jak wstawić nowe elementy rodzeństwa
mam tej struktury
<svg>
<g>
<path class="data"></path>
<path class="data"></path>
</g>
</svg>
i chcą tę strukturę
<svg>
<g>
<path class="data"></path>
<text></text>
<path class="data"></path>
<text></text>
</g>
</svg>
ale jeśli używam d3.js funkcja wstawić
d3.select("g").insert("text", "path.data");
pojawia się następujący (mimo wybierając według nazwy klasy)
<svg>
<g>
<text></text>
<path class="data"></path>
<path class="data"></path>
</g>
</svg>
jakieś pomysły?
Dziękuję Matt. Robi to, co chcę. Jest to prawdopodobnie najlepsze rozwiązanie, ponieważ funkcja wstawiania d3.js obsługuje tylko stałe jako selektory (w tej chwili). Więc nie możesz użyć "this.nextSibling" jako selektora. Idealnym światem odpowiednia funkcja d3.js powinna wyglądać mniej więcej tak: d3.select (this.parentNode) .insert ("text", this); – Codetoffel
Dodanie nowych elementów za pomocą '.each' i' document.createElement 'dodaje węzeł do dokumentu, ale z jakiegoś powodu jest usuwany z wyświetlania. Podobno możliwe jest użycie 'insert()' 'd3 ', ale selektor" before "przekazany do' insert() 'wybierze tylko jeden element. –