1

2 つの要素の順序が維持されるように、svg コンテナーの先頭に追加したい 2 つの要素を含む入力選択があります。このように :first-child セレクターを使用して挿入を使用してみました

var newlayers = layer.enter();
newlayers.insert("g",":first-child")

:first-child セレクターを使用した結果、Enter セレクションの 2 番目の要素が、挿入後の svg コンテナーの最初の要素になります。この動作を回避するにはどうすればよいですか?

4

1 に答える 1

0

この方法で挿入選択が作成された後、.sort を使用して要素を並べ替えることができました。

var newlayers = layer.enter();
newlayers.insert("g",":first-child")
.sort(function(a,b){ return b-a; });

これにより、DOM に挿入された要素のみを並べ替えながら、データの順序はそのまま残ります。enter() 自体で返されたデータを並べ替えるというルートをたどりましたが、それによって他のまったく新しい問題が発生しました。

于 2012-10-13T19:52:31.990 に答える