javascript - 如何控制输入选择的插入顺序?

标签 javascript d3.js

我有一个包含两个元素的输入选择,我想将它们添加到 svg 容器中,以便保持两个元素的顺序。我尝试过使用像这样的 :first-child 选择器来插入

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

由于使用 :first-child 选择器,输入选择中的第二个元素最终成为插入后 svg 容器中的第一个元素。我怎样才能避免这种行为?

最佳答案

好的,在以这种方式创建插入选择后,我可以使用 .sort 对元素重新排序:

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

这会保持数据的顺序不变,而只对 DOM 中插入的元素进行重新排序。我沿着对 Enter() 本身返回的数据进行重新排序的路线,这引发了一系列新的其他问题。

关于javascript - 如何控制输入选择的插入顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12844938/

相关文章:

d3.js 标题上方具有固定纵横比的响应式图表

javascript - D3 - 折线图给出错误的工具提示

javascript - 无法处理 d3 条形图上的负值

javascript - 通过重叠的 svg 元素传播事件

javascript - jquery:选择具有类名和节点索引的元素

javascript - d3.js 是否提供了一种将我的数据集扩展到图表原点的方法?

javascript - jQuery 将元素添加到先前定义的事件处理程序

javascript - react : Edit Textbox which has already value in it

javascript - 基于geojson数据的传单标记

javascript - 如何以数字和字母组合的形式显示javascript对象的值?