javascript - 如何在与其数据对应的位置插入 Enter() 选择?

标签 javascript d3.js

假设我使用数字本身作为键将数字列表绑定(bind)到“li”元素。因此,如果我从 [1,2] 开始,那么我会得到:

  • 1
  • 2
  • 现在,如果我将该列表更新为 [1,3,2],那么我希望 HTML 看起来像:

  • 1
  • 3
  • 2
  • 我一生都无法弄清楚如何做到这一点,因为如果我只是执行 Enter().append('li'),那么输入选择是 3,因此 HTML 看起来像:

  • 1
  • 2
  • 3
  • (选择也有 insert(),但它只接受常量值,而不接受回调。)

    最佳答案

    您还需要进行更新:

    var container = d3.select("ul");
    var selection = container.selectAll("li").data([1, 3, 2]);
    
    // Enter
    selection.enter().append("li");
    
    // Update
    selection.text(function(d) { return d; });
    

    关于javascript - 如何在与其数据对应的位置插入 Enter() 选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11838463/

    相关文章:

    javascript - 如何在 JavaScript 中对这个对象数组进行分组或合并?

    javascript - 如何在 XSLT 中包含 CSS 文件

    javascript - 如何在 html5 canvas 中绘制椭圆?

    javascript - 显示 angular-loading-bar 并禁用页面的所有内容,直到页面加载

    javascript - 使用 d3.js 的组元素 (<g>) 的渲染顺序

    javascript - 使 Object.freeze() 静默失败的原因是什么?

    javascript - 更改工具提示颜色 d3.js

    javascript - 尝试呈现数据 d3 crossfilter dc.js BarChart。图表已绘制,但它是空的

    d3.js - D3 三角形定位到一个精确的点

    javascript - D3 : move circle between two different g elements in force layout