Ich habe ein Problem beim Einfügen neuer Geschwister in vorhandene Elemente.d3.js - So fügen Sie neue Geschwisterelemente ein
Ich habe diese Struktur
<svg>
<g>
<path class="data"></path>
<path class="data"></path>
</g>
</svg>
und wollen diese Struktur
<svg>
<g>
<path class="data"></path>
<text></text>
<path class="data"></path>
<text></text>
</g>
</svg>
aber wenn ich die d3.js verwenden einfügen Funktion
d3.select("g").insert("text", "path.data");
i folgendes erhalten (trotz der Auswahl nach Klassennamen)
<svg>
<g>
<text></text>
<path class="data"></path>
<path class="data"></path>
</g>
</svg>
irgendwelche ideen?
Danke Matt. Das macht was ich will. Dies ist wahrscheinlich die beste Lösung, da die Funktion d3.js nur Konstanten als Selektoren unterstützt (im Moment). Sie können also "this.nextSibling" nicht als Selektor verwenden. I eine ideale Welt sollte die entsprechende d3.js Funktion in etwa so aussehen: d3.select (this.parentNode) .insert ("text", this); – Codetoffel
Das Hinzufügen neuer Elemente mit '.each' und' document.createElement 'fügt den Knoten dem Dokument hinzu, wird jedoch aus irgendeinem Grund nicht mehr angezeigt. Angeblich ist es möglich, d3's insert() t zu verwenden, aber der "vorher" Selektor, der an 'insert()' übergeben wurde, wählt nur ein einzelnes Element aus. –