Ich versuche, die stop
Elemente in einem SVG linearGradient
mit D3.js zu aktualisieren. http://jsfiddle.net/nrabinowitz/C85R8/D3.js: Aktualisieren der Stopps in einem linearenGradient
Ich bin mit dem Standard-D3 Muster von Datenverknüpfung, Eingabe, Aktualisierung, Ausfahrt, etwa so::
var stops = d3.select('#myGradient').selectAll('stops')
.data(data);
stops.enter().append('stop');
stops
.attr('offset', function(d) { return d[0]; })
.attr('stop-color', function(d) { return d[1]; });
stops.exit().remove();
Dies funktioniert gut für die erste Einrichtung Sie können meine Arbeits Geige hier sehen die Haltestellen. Wenn ich versuche, zu aktualisieren, scheint die Funktion die erstellten Elemente jedoch nicht zu finden. Wenn ich das SVG inspiziere, sehe ich nach der Aktualisierung zwei Sätze von Stop-Elementen (die den Gradienten nicht aktualisieren können).
Zum Vergleich, funktioniert fast genau den gleichen Code mit Textelementen funktioniert perfekt.
Warum wird der Code beim Aktualisieren nicht die vorhandenen Stoppelemente richtig auswählen? Ist das ein Fehler in d3.select
oder Sizzle.js?
ug. Danke für die Korrektur meiner Idiotie :). – nrabinowitz